整理一下面试经常被问到的关于集合的问题

集合类的框架图

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

2.Collection中分为:

    2.1 :List主要有:

  1. List继承了Collection,是有序的列表。
  2. 实现类有ArrayList、LinkedList、Vector、Stack等 
  3. ArrayList是基于数组实现的,是一个数组队列。可以动态的增加容量!
  4. LinkedList是基于链表实现的,是一个双向循环列表。可以被当做堆栈使用!
  5. Vector是基于数组实现的,是一个矢量队列,是线程安全的!
  6. 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排序?

 

猜你喜欢

转载自www.cnblogs.com/LesLie-yimei/p/9037982.html
今日推荐