Java Collection 常用功能详解
在 Java 中,Collection
接口是所有集合类的根接口,主要用于存储和操作一组对象。它的常用功能包括添加、删除、遍历、排序、筛选等操作。
✅ 1. Collection 的核心方法
Collection
接口定义了一些通用方法,这些方法被 List
、Set
等子接口继承。
方法 |
作用 |
add(E e) |
添加元素 |
addAll(Collection<? extends E> c) |
添加另一个集合的所有元素 |
remove(Object o) |
删除指定元素 |
removeAll(Collection<?> c) |
删除另一个集合中的所有元素 |
clear() |
清空集合 |
contains(Object o) |
检查集合是否包含某个元素 |
containsAll(Collection<?> c) |
检查集合是否包含另一个集合的所有元素 |
isEmpty() |
判断集合是否为空 |
size() |
返回集合中元素个数 |
toArray() |
转换为数组 |
iterator() |
获取迭代器用于遍历 |
✅ 2. Collection 的常用功能
2.1 添加元素
可以使用 add()
方法向 Collection
添加元素。
1 2 3 4 5 6 7 8 9 10 11 12 13
| import java.util.ArrayList; import java.util.Collection;
public class CollectionAddExample { public static void main(String[] args) { Collection<String> coll = new ArrayList<>(); coll.add("Java"); coll.add("Python"); coll.add("C++");
System.out.println(coll); } }
|
2.2 删除元素
可以使用 remove()
删除指定元素,或者 clear()
清空所有元素。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| import java.util.ArrayList; import java.util.Collection;
public class CollectionRemoveExample { public static void main(String[] args) { Collection<String> coll = new ArrayList<>(); coll.add("Java"); coll.add("Python"); coll.add("C++");
coll.remove("Python"); System.out.println(coll);
coll.clear(); System.out.println(coll.isEmpty()); } }
|
2.3 判断元素是否存在
使用 contains()
判断集合中是否包含某个元素。
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| import java.util.HashSet; import java.util.Set;
public class CollectionContainsExample { public static void main(String[] args) { Set<Integer> numbers = new HashSet<>(); numbers.add(10); numbers.add(20); numbers.add(30);
System.out.println(numbers.contains(20)); System.out.println(numbers.contains(40)); } }
|
2.4 遍历集合
遍历 Collection
常用 三种方式:
Iterator
迭代器
- 增强
for
循环
- Lambda 表达式
方式 1:Iterator
迭代器
Collection集合获取迭代器的方法
方法名称 |
说明 |
Iterator iterator() |
返回集合中的迭代器对象,该迭代器对象默认指向当前集合的第一个元素 |
Iterator迭代器中的常用方法
方法名称 |
说明 |
boolean hasNext() |
询问当前位置是否有元素存在,存在返回true,不存在返回false |
E next() |
获取当前位置的元素,并同时将迭代器对象指向下一个元素处 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| import java.util.Iterator; import java.util.List; import java.util.ArrayList;
public class CollectionIteratorExample { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("Java"); list.add("Python"); list.add("C++");
Iterator<String> iterator = list.iterator(); while (iterator.hasNext()) { System.out.println(iterator.next()); } } }
|
方式 2:增强 for
循环
增强for可以遍历集合或者数组
增强for遍历集合,本质就是迭代器遍历集合的简化写法
格式如下:
1 2 3
| for(元素的数据类型 变量名 : 数组或集合){
}
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| import java.util.List; import java.util.ArrayList;
public class CollectionForEachExample { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("Java"); list.add("Python"); list.add("C++");
for (String lang : list) { System.out.println(lang); } } }
|
方式 3:Lambda 表达式(Java 8)
方法名称 |
说明 |
default void forEach(Consumer<? super T> action) |
结合lambda遍历集合 |
1 2 3 4 5 6 7 8 9 10 11 12 13
| import java.util.List; import java.util.ArrayList;
public class CollectionLambdaExample { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("Java"); list.add("Python"); list.add("C++");
list.forEach(System.out::println); } }
|
2.5 集合转换为数组
使用 toArray()
方法将 Collection
转换为数组。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| import java.util.List; import java.util.ArrayList;
public class CollectionToArrayExample { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("Java"); list.add("Python"); list.add("C++");
String[] array = list.toArray(new String[0]); for (String lang : array) { System.out.println(lang); } } }
|
2.6 批量操作
合并集合
使用 addAll()
方法将一个集合中的所有元素添加到另一个集合中。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| import java.util.ArrayList; import java.util.List;
public class CollectionAddAllExample { public static void main(String[] args) { List<String> list1 = new ArrayList<>(); list1.add("Java"); list1.add("Python");
List<String> list2 = new ArrayList<>(); list2.add("C++"); list2.add("Go");
list1.addAll(list2); System.out.println(list1); } }
|
求交集
使用 retainAll()
方法保留两个集合的交集。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| import java.util.HashSet; import java.util.Set;
public class CollectionRetainAllExample { public static void main(String[] args) { Set<String> set1 = new HashSet<>(); set1.add("Java"); set1.add("Python"); set1.add("C++");
Set<String> set2 = new HashSet<>(); set2.add("Python"); set2.add("C++"); set2.add("Go");
set1.retainAll(set2); System.out.println(set1); } }
|
求差集
使用 removeAll()
删除另一个集合中的元素。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| import java.util.HashSet; import java.util.Set;
public class CollectionRemoveAllExample { public static void main(String[] args) { Set<String> set1 = new HashSet<>(); set1.add("Java"); set1.add("Python"); set1.add("C++");
Set<String> set2 = new HashSet<>(); set2.add("Python"); set2.add("C++");
set1.removeAll(set2); System.out.println(set1); } }
|
✅ 总结
1. 常见方法
add()
/ remove()
/ clear()
contains()
/ size()
/ isEmpty()
toArray()
转换为数组
addAll()
/ removeAll()
/ retainAll()
(批量操作)
2. 遍历方式
- 增强
for
循环
Iterator
迭代器
- Lambda 表达式(Java 8)