Java set.retainAll()
时间: 2024-03-29 21:32:12 浏览: 17
Java中的Set是一种不允许重复元素的集合,而retainAll()是Set接口中的一个方法。它用于保留Set中与指定集合相同的元素,即只保留两个集合中共有的元素,而删除其他元素。
retainAll()方法的语法如下:
```java
boolean retainAll(Collection<?> c)
```
其中,参数c是一个集合,表示要与当前Set进行比较的集合。
该方法会修改当前Set,使其只包含与参数集合c相同的元素,并返回一个boolean值,表示是否有修改发生。如果当前Set发生了修改,则返回true;否则返回false。
下面是一个示例代码:
```java
Set<Integer> set1 = new HashSet<>(Arrays.asList(1, 2, 3, 4, 5));
Set<Integer> set2 = new HashSet<>(Arrays.asList(4, 5, 6, 7, 8));
boolean modified = set1.retainAll(set2);
System.out.println("set1: " + set1); // 输出:set1: [4, 5]
System.out.println("modified: " + modified); // 输出:modified: true
```
在上面的示例中,set1和set2分别是两个Set集合。调用set1的retainAll(set2)方法后,set1只保留了与set2相同的元素4和5,其他元素被删除。同时,由于set1发生了修改,所以返回值为true。