Java 集合框架详解
Java 集合框架(Collections Framework)提供了一套用于存储和操作数据组的标准接口和类。
核心接口分类
1. List
有序、可重复的集合。
- ArrayList:底层是动态数组,查询快,增删慢。
- LinkedList:底层是双向链表,查询慢,增删快。
2. Set
无序、不可重复的集合。
- HashSet:基于 HashMap 实现,无序。
- TreeSet:基于红黑树实现,可以对元素进行自然排序或自定义排序。
3. Map
键值对(Key-Value)映射表。
- HashMap:底层使用数组+链表/红黑树,查询极快,不保证插入顺序。
- TreeMap:基于红黑树,可以对 Key 进行排序。
- ConcurrentHashMap:线程安全的 HashMap,在高并发环境下性能优异。
常见面试题
ArrayList 和 LinkedList 的区别是什么? HashMap 的底层原理是什么?为什么在 JDK 8 引入了红黑树?