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()
方法的使用及其运行结果。它可以帮助我们保留两个集合中共同的元素,并且通过返回值告知我们是否对集合进行了更改。这在需要筛选、比较集合元素时非常有用。