目录
6. Array 和 ArrayList 有什么区别?什么时候该应 Array 而不是 ArrayList 呢?
8. 解决hash冲突的办法有哪些?HashMap用的哪种?
9. 为什么在解决 hash 冲突的时候,不直接用红黑树?而选择先用链表,再转红黑树?
10. HashMap默认加载因子是多少?为什么是 0.75,不是 0.6 或者 0.8 ?
11. HashMap 中 key 的存储索引是怎么计算的?
16. ConcurrentHashMap 的实现原理是什么?
17. ConcurrentHashMap 的 put 方法执行逻辑是什么?
18. ConcurrentHashMap 的 get 方法是否要加锁,为什么?
1. 常见的集合有哪些?
Java集合类主要由两个根接口Collection和Map派生出来的,Collection派生出了三个子接口:List、Set、Queue(Java5新增的队列),因此Java集合大致也可分成List、Set、Queue、Map四种接口体系。
注意:Collection是一个接口,Collections是一个工具类,Map不是Collection的子接口。
Java集合框架图如下: