java如何使用集合
集合的基本概念
Java集合框架(Java Collections Framework)是一组接口和类的实现,用于存储和操作数据集合。主要分为三类:List(有序可重复)、Set(无序不可重复)、Map(键值对存储)。
常用集合类及使用
List接口的实现类
ArrayList和LinkedList是List的常用实现类。ArrayList基于动态数组,适合随机访问;LinkedList基于链表,适合频繁插入删除。
示例代码:
List<String> arrayList = new ArrayList<>();
arrayList.add("Apple");
arrayList.add("Banana");
System.out.println(arrayList.get(0)); // 输出: Apple
Set接口的实现类
HashSet和TreeSet是Set的常用实现类。HashSet基于哈希表,无序;TreeSet基于红黑树,有序。
示例代码:
Set<String> hashSet = new HashSet<>();
hashSet.add("Apple");
hashSet.add("Banana");
hashSet.add("Apple"); // 重复元素不会被添加
System.out.println(hashSet.size()); // 输出: 2
Map接口的实现类
HashMap和TreeMap是Map的常用实现类。HashMap基于哈希表,无序;TreeMap基于红黑树,按键排序。
示例代码:
Map<String, Integer> hashMap = new HashMap<>();
hashMap.put("Apple", 1);
hashMap.put("Banana", 2);
System.out.println(hashMap.get("Apple")); // 输出: 1
集合的遍历
使用迭代器
所有集合均可通过迭代器(Iterator)遍历。
示例代码:
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
增强for循环
适用于List和Set等实现了Iterable接口的集合。
示例代码:
for (String item : list) {
System.out.println(item);
}
集合的常用操作
排序
使用Collections.sort()对List排序,或使用TreeSet/TreeMap自动排序。
示例代码:
List<Integer> numbers = new ArrayList<>();
numbers.add(3);
numbers.add(1);
Collections.sort(numbers); // 排序后: [1, 3]
过滤与转换
Java 8引入Stream API,支持链式操作如filter、map等。
示例代码:

List<String> fruits = Arrays.asList("Apple", "Banana", "Cherry");
fruits.stream()
.filter(f -> f.startsWith("A"))
.forEach(System.out::println); // 输出: Apple
注意事项
- 线程安全:ArrayList、HashMap等非线程安全,需使用Collections.synchronizedList()或ConcurrentHashMap。
- 性能选择:根据场景选择合适集合,如频繁查询用ArrayList,频繁增删用LinkedList。
- 不可变集合:使用Collections.unmodifiableList()创建不可修改的集合。
通过以上方法,可以灵活使用Java集合框架处理数据。






