集合类的框架图

图片描述

1.集合分两大类,Map和Collection。而Collection又有子接口List(数据存储顺序和插入顺序是一样的)、Set(里面的元素具有唯一性)

2.Collection中分为:

2.1 :List主要有:

  • List继承了Collection,是有序的列表。
  • 实现类有ArrayList、LinkedList、Vector、Stack等
  • ArrayList是基于数组实现的,是一个数组队列。可以动态的增加容量!
  • LinkedList是基于链表实现的,是一个双向循环列表。可以被当做堆栈使用!
  • Vector是基于数组实现的,是一个矢量队列,是线程安全的!
  • Stack是基于数组实现的,是栈,它继承与Vector,特性是FILO(先进后出)!

2.2: Set主要有:

  1.用于存储无序(存入和取出的顺序不一定相同)元素,值不能重复。

  2.里面主要有HashSet和TreeSet

3.Map主要有HashMap和Hashtable

  3.1:HashMap中有LinkedHashMap

4.具体的面试题如下:

1...Collections和Collection有什么区别

2...List和set的区别?

3...ArrayList和LinkedList的区别?

4...Array和ArrayList有何区别?

5...ArrayList和LinkedList,Vector的区别?

6...HashSet和TreeSet有什么区别?

7...HashMap和Hashtable有什么区别?

8...HashMap与LinkedHashMap,和TreeMap的区别?

9...ArrayList集合加入1万条数据,应该怎么提高效率?

10...如何遍历ArrayList----LinkedList---HashMap---HashSet?

11...如何对ArrayList----LinkedList---HashMap---HashSet排序?