# Collection Interview Questions
Top 40 Java collection interview questions and answers
# 一般的问题
1)什么是Java Collections API? 列出其优势?
2)解释馆藏层次?
3)为什么Collection接口没有扩展Cloneable和Serializable接口?
4)为什么Map接口没有扩展Collection接口?
# 列表界面相关
5)为什么要使用List接口? 什么是实现List接口的主要类?
6)如何将String数组转换为ArrayList?
7)如何反转列表?
# 设置界面相关
8)为什么要使用Set接口? 什么是实现Set接口的主要类?
9)HashSet如何存储元素?
10)是否可以将null元素添加到TreeSet或HashSet?
# 地图界面相关
为什么要使用Map界面? 什么是实现Map接口的主要类?
什么是IdentityHashMap和WeakHashMap?
解释ConcurrentHashMap吗? 这个怎么运作?
哈希图如何工作?
如何为哈希表设计一个好的密钥?
16)Map界面提供哪些不同的Collection视图?
17)什么时候使用HashMap或TreeMap?
# 告诉差异问题
18)Set和List之间的区别?
19)列表和地图之间的区别?
20)HashMap和HashTable之间的区别?
21)Vector和ArrayList之间的区别?
22)迭代器和枚举之间的区别?
23)HashMap和HashSet之间的区别?
24)Iterator和ListIterator之间的区别?
25)TreeSet和SortedSet之间的区别?
26)ArrayList和LinkedList之间的区别?
# 更多问题
27)如何使收藏集只读?
28)如何使收集线程安全?
29)为什么没有像Iterator.add()这样的方法将元素添加到集合中?
30)有哪些不同的方法可以遍历列表?
31)通过迭代器快速失败属性您了解什么?
32)快速故障和故障安全之间有什么区别?
33)如何在迭代集合时避免ConcurrentModificationException?
34)什么是UnsupportedOperationException?
35)哪些收集类别可随机访问其元素?
36)什么是BlockingQueue?
37)什么是队列和堆栈,列出它们的区别?
38)什么是可比较和比较器界面?
39)什么是Collections和Arrays类?
40)推荐资源