java retainall的用法
时间: 2023-06-14 11:05:28 浏览: 50
`retainAll()` 是 Java 集合框架中的一个方法,用于从集合中保留与指定集合相同的元素。它的语法如下:
```java
public boolean retainAll(Collection<?> c)
```
其中,`c` 是要与当前集合进行比较的集合。
这个方法会返回一个布尔值,表示当前集合是否发生了变化。如果当前集合发生了变化,则返回 `true`,否则返回 `false`。
举个例子,假设有两个集合 `set1` 和 `set2`,它们分别包含以下元素:
```java
Set<Integer> set1 = new HashSet<>(Arrays.asList(1, 2, 3, 4, 5));
Set<Integer> set2 = new HashSet<>(Arrays.asList(2, 4, 6));
```
然后我们调用 `set1.retainAll(set2)`:
```java
set1.retainAll(set2);
```
此时,`set1` 中只会保留与 `set2` 相同的元素,即 `2` 和 `4`。所以,`set1` 现在的内容是 `[2, 4]`。
注意,`retainAll()` 方法会修改当前集合,所以如果你不希望修改原始集合,可以先对其进行复制。例如:
```java
Set<Integer> set1 = new HashSet<>(Arrays.asList(1, 2, 3, 4, 5));
Set<Integer> set2 = new HashSet<>(Arrays.asList(2, 4, 6));
Set<Integer> result = new HashSet<>(set1);
result.retainAll(set2);
System.out.println(set1); // [1, 2, 3, 4, 5]
System.out.println(set2); // [2, 4, 6]
System.out.println(result); // [2, 4]
```