Skip to content

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 引入了红黑树?

用心记录代码与生活