retainAll的使用
时间: 2023-12-28 11:34:49 浏览: 29
`retainAll()` 是 Java 中集合类(如 List、Set)的一个方法,用于保留集合中与指定集合相同的元素,同时移除其他元素。
下面是 `retainAll()` 方法的使用示例:
```java
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> list1 = new ArrayList<>();
list1.add("apple");
list1.add("banana");
list1.add("orange");
List<String> list2 = new ArrayList<>();
list2.add("banana");
list2.add("pear");
list1.retainAll(list2);
System.out.println(list1); // 输出 [banana]
}
}
```
在上面的示例中,我们创建了两个 `List` 对象 `list1` 和 `list2`。然后,我们向 `list1` 添加了三个元素,并向 `list2` 添加了两个元素。
接下来,我们调用 `list1.retainAll(list2)` 方法,这会将 `list1` 中与 `list2` 具有相同元素的部分保留下来,而移除其他元素。在本例中,由于 `list1` 和 `list2` 都包含 "banana" 这个元素,因此最终 `list1` 中只保留了 "banana" 元素。
最后,我们打印输出 `list1`,结果为 `[banana]`。
需要注意的是,`retainAll()` 方法会修改原始集合,如果你不想修改原始集合,可以创建一个新的集合来保存结果。此外,`retainAll()` 方法会使用元素的 `equals()` 方法来进行比较,因此确保你的元素类正确实现了 `equals()` 方法。
希望这个例子能帮助你理解 `retainAll()` 方法的使用。如果有任何进一步的问题,请随时向我提问。