java集合
一、什么是 Java 集合
数组有明显短板:长度固定、仅能简单存取、没有封装批量操作方法。
Java 集合是java.util 包下一套标准容器框架,专门用来存储多个引用类型对象,长度自动伸缩,内置丰富的增删、查找、排序、去重、遍历方法,统一规范管理批量数据。
注意:集合不能直接存 int、char 等基本类型,需包装成 Integer、Character 包装类。
二、核心两大分支
- Collection 单列集合:一次存一个元素
List 列表
特征:有序、索引可查、允许元素重复
ArrayList:底层数组,查询快、头尾增删慢,日常最常用
LinkedList:底层双向链表,插入删除快,查询慢
Set 集
特征:无序、元素自动去重,无索引
HashSet:哈希表,存取速度快,不保证顺序
TreeSet:红黑树,元素自动升序排序 - Map 双列集合:存储 key=value 键值对
特征:键 key 唯一不可重复,值 value 可重复,一个键对应一个值
HashMap:哈希表,存取高效,无序,开发高频使用
TreeMap:按键自动排序
三、集合主要用途
动态存储数据
数组长度创建后固定,集合自动扩容 / 缩容,适合数量不确定的数据。
区分存储特性,按需选型
需要重复有序数据用 List;需要自动去重用 Set;需要根据标识查询数据用 Map。
封装大量通用操作
自带遍历、筛选、排序、清空、判空、取交集等方法,不用自己手写逻辑。
适配业务场景
接收接口批量参数、数据库多条查询结果、缓存键值数据、临时存放批量对象。
配合迭代器遍历
统一迭代遍历方式,所有集合都支持 Iterator,也支持增强 for 循环简化遍历。
四、集合相比数组优势总结
长度可变,无需提前定义容量
区分有序 / 去重 / 键值多种存储结构
内置成熟工具方法,开发效率高
支持泛型,约束存储类型,避免类型转换异常

浙公网安备 33010602011771号