Java 单列集合(Collection)基础
Java 集合框架是 Java 编程中非常重要的一部分,用于存储和操作一组对象。单列集合(Collection)是集合框架的根接口,定义了所有单列集合共有的操作。本文将详细介绍 Collection 接口及其常用实现类的使用方法和特点。
Collection 接口概述
Collection 接口是单列集合的顶级接口,位于 java.util 包中。它提供了对集合元素的基本操作,如添加、删除、遍历等。Collection 接口的主要子接口有 List、Set 和 Queue。
Collection 接口的常用方法:
boolean add(E e):向集合中添加元素。boolean remove(Object o):从集合中移除指定元素。int size():返回集合中元素的数量。boolean isEmpty():判断集合是否为空。boolean contains(Object o):判断集合是否包含指定元素。void clear():清空集合中的所有元素。Iterator<E> iterator():返回集合的迭代器,用于遍历集合。
List 接口
List 接口继承自 Collection 接口,代表有序、可重复的集合。List 允许对元素进行精确的插入和访问,可以根据索引操作集合中的元素。
常用实现类:
ArrayList:基于动态数组实现,查询速度快,增删慢。LinkedList:基于双向链表实现,增删速度快,查询慢。Vector:线程安全的动态数组,性能较低。
示例代码:
List<String> list = new ArrayList<>();
list.add("Java");
list.add("Python");
list.add("C++");
System.out.println(list.get(1)); // 输出: Python
Set 接口
Set 接口继承自 Collection 接口,代表无序、不可重复的集合。Set 不允许包含重复元素,通常用于去重操作。
常用实现类:
HashSet:基于哈希表实现,元素无序。LinkedHashSet:基于哈希表和链表实现,元素按插入顺序排列。TreeSet:基于红黑树实现,元素按自然顺序或自定义顺序排序。
示例代码:
Set<String> set = new HashSet<>();
set.add("Apple");
set.add("Banana");
set.add("Apple"); // 重复元素不会被添加
System.out.println(set); // 输出: [Apple, Banana]
Queue 接口
Queue 接口继承自 Collection 接口,代表队列数据结构,通常用于 FIFO(先进先出)操作。
常用实现类:
LinkedList:可以用作队列或双端队列。PriorityQueue:基于优先级堆实现,元素按优先级排序。
示例代码:
Queue<String> queue = new LinkedList<>();
queue.offer("First");
queue.offer("Second");
System.out.println(queue.poll()); // 输出: First
遍历集合的方式
- 使用迭代器(Iterator)
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
- 增强 for 循环
for (String item : list) {
System.out.println(item);
}
- Lambda 表达式(Java 8+)
list.forEach(item -> System.out.println(item));
总结
Collection 接口及其子接口提供了丰富的功能,可以满足不同场景下的需求。List 适合有序、可重复的数据存储;Set 适合无序、去重的场景;Queue 适合 FIFO 操作。根据实际需求选择合适的实现类,能够显著提高程序的性能和可维护性。

被折叠的 条评论
为什么被折叠?



