- 集合:Arrays.asList。List.subList。HashMap实现原理,ConcurrentHashMap实现原理
- 多线程:线程池执行原理,volatile和synchronized。线程的状态切换,线程池中工具类
- 额外:java正则,加密模块,反射
- 常见排序算法,之间的区别
接口及其实现类
| 接口 | 实现类 |
|---|---|
| List | ArrayList, LinkedList |
| Queue | ArrayDeque, LinkedList, PriorityQueue |
| Set | HashSet, TreeSet, LinkedHashSet |
| Map | HashMap, TreeMap, LinkedHashMap |
特性
| 集合 | 底层数据结构 | 特性 |
|---|---|---|
| ArrayList | 可变大小的数组 | 随机访问效率高,随机插入、随机删除效率低 |
| LinkedList | 双向链 | 随机访问效率低,但随机插入、随机删除效率高 |
| ArrayDeque | 可变大小的数组 | 进队/出队效率都高 |
| PriorityQueue | 堆 | 优先级高先出队 |
| HashMap/Set | 哈希表 | 速度快, Key需要实现equals/hashcode |
| TreeMap/Set | 红黑树 | key需要实现comparable, 按照key排序 |
| ListedHashMap/Set | 哈希表 + 链表 | 保留插入顺序 |
