- 集合: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 | 哈希表 + 链表 | 保留插入顺序 |