JAVA集合以及面试题

1,集合的框架体系图

 

2,java集合可分为Collection和Map两种体系

  • 2.1   Collection接口:包括set和list
  • Set:元素是无序的、不可重复的集合。
  • List:元素是有序的、可以重复

2.2    Map

  • 具有映射关系“key-vlue”的集合

3,首先我们来讲解List接口

  • List接口的实现类常用的有:ArrayList、LinkedList和Vector(古老的集合JDK1.0就有了)记住它的特点:是有序,允许重复

常用方几个常用的就可以了,记不住就翻AIP就好,常见的有:

  • add(int index,Object obj) 按索引插入元素
  • remove(int index )按索引删除元素
  • set(int index ,Object ojb)按索引修改元素
  • get(int index )按索引查看元素

4,我们来谈谈List的实现类

  • 4.1ArrayList实现类:底层是一个可变的数组结构的,
  • 4.2Vector实现类:底层也是和ArrayList一样的都是可变的数组结构

面试题来了:Vector and ArrayList的区别?

  • Vector:线程同步的,但是效率低
  • ArrayList:线程不同步,但是效率高(开发中较多使用)
  • 4.3LinkedList实现类;底层是链表结构的

面试来了:LinkedList and ArrayList的区别?

  • ArrayList不同的是底层是一个数组结构的,空间是联系的,还有不适合做增删改更新操作的,适合做查询操作。
  • LinkedList底层是链表结构的,空间上是不联系的而是分散的,适合做增删改更新操作,不擅长做查询操作
  • 5,Set集合的特点,是无序的,不按特定的方式排序,只是简单的加入集合,set的集合也不能包含重复的对象或元素。
  • 5.1 Set接口常用实现类有:HashSet类和TreeSet类

5.2HashSet实现类

  • 特点;底层是哈希表结构,无序、不能有相同的元素,可以使用null元素它不保证set的迭代顺序,特别是它不保证改顺序的恒久不变。

5.3TreeSet实现类

  • 特点:底层是 二叉树结构,可以实现对元素的自然排序(真正的排序)、不允许重复

6,Map集合

  • map接口提供了将key映射到值的对象,注意:map里存的键值对,是不可以重复的,每个key最多能映射到一个值。
  • Map接口常用的实现类有;HashMap和TreeMap,开发中也是较多使用HashMap实现类的,HashMap类实现的Map集合添加和删除映射关系效率更高,

 

 

猜你喜欢

转载自www.cnblogs.com/lidhtdream/p/10111077.html