Java retainAll的用法

1. 介绍
在Java中,retainAll()是一个用于集合操作的方法,它用于保留当前集合中与另一个集合相同的元素。具体而言,它会移除当前集合中不包含在另一个集合中的元素,只保留两个集合都含有的元素。
在这篇文章中,我们将详细介绍retainAll()方法的使用、示例代码以及运行结果。
2. 使用方法
retainAll()方法是在Collection接口中定义的,可以被List、Set和Queue等集合类实现。它的使用方法如下:
boolean retainAll(Collection<?> c)
其中,参数c是另一个集合,表示需要进行比较的集合。
该方法返回一个boolean值,表示是否对当前集合进行了更改。如果当前集合发生了改变,则返回true;如果没有改变,则返回false。
3. 示例代码
下面是一个示例代码,演示了retainAll()方法的使用:
import java.util.ArrayList;
import java.util.Arrays;
public class RetainAllExample {
public static void main(String[] args) {
// 创建两个ArrayList对象
ArrayList<String> list1 = new ArrayList<>(Arrays.asList("A", "B", "C", "D", "E"));
ArrayList<String> list2 = new ArrayList<>(Arrays.asList("C", "D", "E", "F", "G"));
// 使用retainAll方法保留两个集合中的共同元素
boolean changed = list1.retainAll(list2);
// 打印结果
System.out.println("是否修改了集合:" + changed);
System.out.println("保留的共同元素:" + list1);
}
}
4. 运行结果
上述示例代码的运行结果为:
是否修改了集合:true
保留的共同元素:[C, D, E]
5. 解析
在上述示例代码中,我们创建了两个ArrayList对象,分别为list1和list2。list1的元素为[A, B, C, D, E],list2的元素为[C, D, E, F, G]。
接下来,我们调用list1.retainAll(list2)方法,将list1中与list2共有的元素保留下来。
经过retainAll()方法的操作后,list1只保留了与list2中相同的元素,即[C, D, E]。同时,返回值changed被设置为true,表示list1发生了更改。
最后,我们打印输出了结果,显示了是否对集合进行了修改以及保留的共同元素。
6. 总结
通过本文的介绍,我们了解到了retainAll()方法的使用及其运行结果。它可以帮助我们保留两个集合中共同的元素,并且通过返回值告知我们是否对集合进行了更改。这在需要筛选、比较集合元素时非常有用。
极客笔记