Java 容器简介
【简单】Java 中有哪些集合类?⭐⭐⭐
🎯 目标等级:L2 | ⏱ 建议用时:8 min | 🏷 标签:容器 / 集合体系
💎 关键结论
Java 容器位于 java.util,分 Collection(List/Set/Queue)和 Map 两大体系。选型口诀:要顺序可重复用 List,要唯一用 Set,要排队用 Queue,要键值用 Map;并发场景选 java.util.concurrent。
🎯 目标等级:L2 | ⏱ 建议用时:8 min | 🏷 标签:容器 / 集合体系
Java 容器位于 java.util,分 Collection(List/Set/Queue)和 Map 两大体系。选型口诀:要顺序可重复用 List,要唯一用 Set,要排队用 Queue,要键值用 Map;并发场景选 java.util.concurrent。
🎯 目标等级:L2 | ⏱ 建议用时:10 min | 🏷 标签:Stream API / 执行模型
Stream 操作分两类:中间操作惰性求值、返回 Stream,只记录流水线不执行;终端操作才触发实际执行并返回结果。没有终端操作,中间操作永远不执行。
🎯 目标等级:L2 | ⏱ 建议用时:5 min | 🏷 标签:Map / 哈希冲突
Hash 碰撞指不同 key 经哈希函数算出相同桶索引,无法彻底避免只能缓解。主流方案是链地址法(同桶挂链表,HashMap 采用),辅以均匀哈希函数、动态扩容与链表转红黑树控制最坏复杂度。
Stream 是 Java 8 引入的核心特性之一,位于 java.util.stream 包中。它提供了一种高效且可声明的方式来处理数据序列(集合、数组、文件行等),支持链式操作、函数式编程风格和并行处理。
Stream 不是数据结构,它不会存储数据,而是对 Collection 或数组等数据源进行惰性求值(Lazy Evaluation)的操作管道。Stream 操作不会修改数据源,而是返回一个新的 Stream 或结果。
在 Java 8 中,
Collection新增了两个流方法:stream()和parallelStream()。
【Java 容器】专题以 Collection 和 Map 两大体系为核心,涵盖 List、Set、Queue 等经典数据结构及其底层实现原理(数组、链表、红黑树、哈希表)。结合 Stream API 的声明式数据处理能力,构成 Java 日常开发中数据组织、操作与转换的完整工具链,是面试中考察数据结构与算法功底的核心阵地。
Collection、Map、Iterator、Comparator、fail-fastArrayList、LinkedList、动态扩容、RandomAccess、subListHashMap、LinkedHashMap、TreeMap、红黑树、负载因子HashSet、LinkedHashSet、TreeSet、去重、NavigableSetDeque、ArrayDeque、PriorityQueue、BlockingQueue、二叉堆Stream、中间操作、终结操作、Collector、惰性求值队列(Queue)是一种先进先出(FIFO)的线性数据结构。Java 中的 Queue 接口位于 java.util 包下,扩展了 Collection 接口,提供了入队、出队、查看队首元素等核心操作。此外,双端队列 Deque 和优先级队列 PriorityQueue 为不同场景提供了更灵活的选择。

在并发编程中,容器是存储和管理数据的核心组件。普通的集合容器(如 ArrayList、HashMap)不是线程安全的,在多线程环境下会出现数据不一致问题。Java 提供了两类并发容器:同步容器(通过 synchronized 实现线程安全,性能较低)和并发容器(通过更精细的并发设计实现更高性能,如 ConcurrentHashMap、CopyOnWriteArrayList、BlockingQueue 等)。选择合适的并发容器是高并发程序的关键。
Map 是 Java 容器框架中用于存储键值对(key-value)的接口,每个键最多映射一个值,且键不能重复。Map 的主要实现类包括:HashMap(无序、高性能)、LinkedHashMap(保持插入顺序)、TreeMap(有序、红黑树)和 WeakHashMap(弱键、GC 友好)。Map 是日常开发中使用最广泛的容器之一,适用于缓存、配置、索引等场景。

Set 是 Java 容器框架中用于存储不重复元素的集合。它继承自 Collection 接口,通过内部机制保证元素的唯一性。Java 提供了多种 Set 实现:HashSet(无序、高性能)、LinkedHashSet(保持插入顺序)、TreeSet(有序、红黑树)和 EnumSet(枚举专用),各自适用于不同的场景。

Java 容器(Collections)是存储和管理对象的数据结构框架,位于 java.util 包中。容器框架提供了丰富的接口和实现类,包括 List、Set、Queue、Map 等,支持泛型、迭代器、比较器、并发安全等核心机制。深入理解容器框架是编写高质量 Java 程序的基础。
Java 中常用的存储容器就是数组和容器,二者有以下区别: