Java 集合框架(List / Set / Map)
·
一、前言
在 Java 开发中,数组长度固定、使用不便,集合框架是用来存储、处理一组对象的核心工具。集合相比于数组,长度可变、功能丰富、支持泛型,是日常开发、考试、面试的重中之重。本文主要讲解 Java 三大核心集合:List、Set、Map。
二、集合体系概述
Java 集合主要分为两大类:
- 单列集合(Collection):一次存一个对象
- List:有序、可重复
- Set:无序、不可重复
- 双列集合(Map):一次存一对对象(键值对 key-value)
三、List 接口(有序、可重复)
特点
- 元素存取有序
- 允许重复元素
- 有索引,可以通过下标取值
常用实现类
ArrayList:底层数组,查询快、增删慢LinkedList:底层链表,增删快、查询慢
代码示例
java
运行
import java.util.ArrayList;
public class ListDemo {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("Java");
list.add("Python");
list.add("Java"); // 允许重复
System.out.println(list.get(0)); // 索引取值
System.out.println(list);
}
}
四、Set 接口(无序、不可重复)
特点
- 无序(存取顺序不一致)
- 元素不可重复,自动去重
- 无索引
常用实现类
HashSet:底层哈希表,查询效率极高
代码示例
java
运行
import java.util.HashSet;
public class SetDemo {
public static void main(String[] args) {
HashSet<String> set = new HashSet<>();
set.add("苹果");
set.add("香蕉");
set.add("苹果"); // 重复元素自动失效
System.out.println(set);
}
}
五、Map 接口(键值对存储)
特点
- 双列集合:key (键) + value (值)
- key 不可重复,value 可以重复
- 常用做数据映射、字典、缓存
常用实现类
HashMap:无序、高效、日常最常用
代码示例
java
运行
import java.util.HashMap;
public class MapDemo {
public static void main(String[] args) {
HashMap<String,Integer> map = new HashMap<>();
map.put("张三",20);
map.put("李四",22);
System.out.println(map.get("张三")); // 根据key取值
System.out.println(map);
}
}
六、三大集合核心区别总结
- List:有序、可重复、有索引(适合存有序数据)
- Set:无序、不可重复、无索引(适合去重)
- Map:键值对、key 唯一(适合映射关系数据)
七、总结
集合框架替代了数组的短板,是 Java 存储数据的核心手段。开发中:
- 普通有序数据用 ArrayList
- 去重数据用 HashSet
- 映射关系数据用 HashMap
更多推荐

所有评论(0)