518 words
3 minutes
Java SE 系列(四):集合

AI 智能总结

Java SE 4 集合#

Java 集合是存储动态对象的核心容器,替代固定长度数组,本文精简讲解Collection、List、Set、Map、迭代器、泛型、Collections 工具类,搭配实战代码,清晰易懂。

一、集合核心架构#

Java 集合分两大体系: 单列集合 Collection:存储单个元素,包含 List、Set 子接口
双列集合 Map:存储 键值对(Key-Value),键唯一、值可重复

二、List 有序可重复#

特点:有序、索引访问、元素可重复

ArrayList#

底层数组,查询快、增删慢,日常开发首选。

List<String> list = new ArrayList<>();
list.add("Java");
list.add("集合");
System.out.println(list.get(0)); // 按索引查询

LinkedList#

底层双向链表,增删快、查询慢,适合频繁增删场景。

三、Set 无序唯一#

特点:无序、无索引、元素不可重复
常用实现类 HashSet,基于哈希表去重,效率极高。

Set<Integer> set = new HashSet<>();
set.add(1);
set.add(1); // 重复元素自动舍弃
System.out.println(set.size()); // 输出1

四、Map 键值对集合#

存储一一对应数据,键唯一、可通过键取值,核心实现 HashMap。

Map<String,Integer> map = new HashMap<>();
map.put("张三",20); // 存数据
System.out.println(map.get("张三")); // 取数据

五、迭代器 Iterator#

集合通用遍历方式,适配所有单列集合,遍历中可安全删除元素。

Iterator<String> it = list.iterator();
while(it.hasNext()){
System.out.println(it.next());
}

六、泛型 Generic#

约束集合存储指定类型数据,编译期校验,避免类型转换异常。 统一集合数据类型,摒弃 Object 泛型的强转麻烦
常用标识:E (元素)、K (键)、V (值)

// 仅允许存储字符串,类型安全
List<String> data = new ArrayList<>();

七、Collections 工具类#

操作集合的静态工具类,区别于集合接口 Collection,提供批量操作、排序、空安全方法。

Collections.sort(list); // 集合排序
Collections.shuffle(list); // 集合乱序

核心总结#

查多改少用 ArrayList,增删频繁用 LinkedList,去重用 Set。
键值对存储、参数映射场景统一用HashMap。
泛型保证集合类型安全,是开发必备规范。
Iterator 适配所有单列集合遍历,Collections 是集合万能工具类。

Java SE 系列(四):集合
https://fuwari.vercel.app/posts/java-se-series/java-se-04-collection/
Author
Zero02
Published at
2025-01-26
License
CC BY-NC-SA 4.0