接口方法一览

image-20220830144439640

以下方法均以ArrayList为例,演示方法的用法,对于实现了Collection接口的其他实现类可以此类推

1
Collection<String> arrayList = new ArrayList<>();

add

往Collection集合中添加一个元素

添加成功返回true,添加失败返回false

1
2
3
// 向集合中添加一个"ikun"元素
System.out.println(arrayList.add("ikun"));
// 输出结果:true

addAll

将一个集合中的所有元素(这里称为集合A)添加进另一个集合中(这里称为集合B)

添加成功返回true,添加失败返回false

这个操作不会影响集合A中的元素

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// 新建ArrayList集合A和B
Collection<String> A = new ArrayList<>();
Collection<String> B = new ArrayList<>();
// 往A集合中添加几条数据
A.add("ikun1");
A.add("ikun2");
A.add("ikun3");
A.add("ikun4");
// 将集合A中的所有元素添加到集合B中,同时打印返回值
System.out.println(B.addAll(A));
// 输出集合A和集合B的toString字符串
System.out.println(A);
System.out.println(B);
// 输出结果
// true
// [ikun1, ikun2, ikun3, ikun4]
// [ikun1, ikun2, ikun3, ikun4]

size

返回Collection集合的元素个数

1
2
3
// 输出集合A的元素个数
System.out.println(A.size());
// 输出结果:4

isEmpty

判断Collection集合是否为空

为空返回true,不为空返回false

1
2
3
// 判断集合A是否为空
System.out.println(A.isEmpty());
// 输出结果:false

contains

判断Collection集合中是否存在某元素

1
2
3
4
5
6
7
// 判断Collection集合A是否存在"ikun1"
System.out.println(A.contains("ikun1"));
// 判断COllection集合A是否存在"小明"
System.out.println(A.contains("小明"));
// 输出结果
// true
// false

remove

移除Collection集合中的指定元素

如果该元素在集合中存在多个,则一次只能移除一个

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// 新建一个集合C
Collection<String> C = new ArrayList<>();
// 向集合C中添加几条数据,可以看到有几条数据重复
C.add("ikun");
C.add("ikun");
C.add("ikun");
C.add("ikun");
C.add("ikun1");
// 打印集合C的toString字符串
System.out.println(C);
// 移除一个"ikun"
C.remove("ikun");
// 打印集合C的toString字符串
System.out.println(C);
// 输出结果:
// [ikun, ikun, ikun, ikun, ikun1]
// [ikun, ikun, ikun, ikun1]

remoreAll

移除一个集合(这里称为集合D)存在于另一个集合(这里称为集合E)的元素

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// 新建集合D和E
Collection<Integer> D = new ArrayList<>();
Collection<Integer> E = new ArrayList<>();
// 向集合D和E中添加几条数据
D.add(1);
D.add(2);
D.add(3);
D.add(4);
D.add(5);
E.add(3);
E.add(4);
E.add(5);
E.add(6);
E.add(7);
// 打印集合D和E的toString字符串
System.out.println(D);
System.out.println(E);
// 移除D中的D和E共有的元素[3, 4, 5]
D.removeAll(E);
// 打印集合D和E的toString字符串
System.out.println(D);
System.out.println(E);
// 输出结果,可以看到集合D少了[3, 4, 5]元素
// [1, 2, 3, 4, 5]
// [3, 4, 5, 6, 7]
// [1, 2]
// [3, 4, 5, 6, 7]

toArray

将Collection集合转换成一个数组,返回类型为Object[]

1
2
3
4
5
6
7
8
// 将E集合转换成数组array
Object[] array = E.toArray();
// 遍历数组
for (Object element : array) {
System.out.print(element + " ");
}
// 输出结果:
// 3, 4, 5, 6, 7

containsAll

判断一个Collection集合(这里称为F集合)中所有的元素是否都在另一个Collection(这里称为E集合)集合中存在

都存在时返回true,有值不存在时返回false

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// 新建一个F集合,集合元素为[3, 4, 5]
Collection<Integer> F = new ArrayList<>();
F.add(3);
F.add(4);
F.add(5);
// 判断F集合中所有元素是否在E中都有
System.out.println(E.containsAll(F));
// 再向集合F中添加元素1,此时F集合元素为[3, 4, 5, 1]
F.add(1);
// 判断F集合中所有元素是否在E中都有
System.out.println(E.containsAll(F));
// 输出结果
// true
// false

hashCode

返回Collection集合的hashCode值

1
2
3
// 返回E的hashCode值
System.out.println(E.hashCode());
// 输出结果:31523876

equals

判断两个Collection集合是否相等

这里相等是指元素个数和元素都相等

1
2
3
4
5
6
7
8
9
10
11
// 集合E: [3, 4, 5, 6, 7]
// 集合F: [3, 4, 5, 1]
// 判断集合E和F是否相等
System.out.println(E.equals(F));
// 结果:false

// 新建一个集合G,通过传入F到构造函数中使之与F集合相同
Collection<Integer> G = new ArrayList<>(F);
// 判断集合E和F是否相等
System.out.println(G.equals(F));
// 结果:true

iterator

返回一个Collection集合的迭代器,用于迭代操作

1
2
3
4
5
6
7
8
// 返回一个E的迭代器
Iterator<Integer> iterator = E.iterator();
// 使用迭代器遍历E
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
// 输出结果
// 34567

retainAll

取两个Collection集合(这里称作H集合和I集合)的交集,返回给调用集合

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// 定义两个集合H和I
Collection<Integer> H = new ArrayList<>();
Collection<Integer> I = new ArrayList<>();
// 添加元素
// H:[1, 2, 3, 4]
// I:[3, 4, 5, 6]
H.add(1);
H.add(2);
H.add(3);
H.add(4);
I.add(3);
I.add(4);
I.add(5);
I.add(6);
// 取交集,返回给H集合
H.retainAll(I);
// 输出H的toString字符串
System.out.println(H);
// 输出结果
// [3, 4]

clear

清空一个Collection集合中的所有元素

1
2
3
4
5
6
7
8
9
// 输出H的toString字符串
System.out.println(H);
// 清空H集合的所有元素
H.clear();
// 输出H的toString字符串
System.out.println(H);
// 输出结果
// [3, 4]
// []