整理一下面试经常被问到的关于集合的问题
程序员文章站
2024-01-13 10:29:52
集合类的框架图 1.集合分两大类,Map和Collection。而Collection又有子接口List(数据存储顺序和插入顺序是一样的)、Set(里面的元素具有唯一性) 2.Collection中分为: 2.1 :List主要有: 2.2: Set主要有: 1.用于存储无序(存入和取出的顺序不一定 ......
集合类的框架图
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排序?