📅  最后修改于: 2023-12-03 15:01:50.227000             🧑  作者: Mango
retainAll()
是 AbstractCollection
中的方法,用于保留集合中所有包含在指定集合中的元素,同时删除所有不包含在指定集合中的元素。这个方法返回一个 boolean 值,表示当集合被修改时是否被改变。
public boolean retainAll(Collection<?> c)
参数:
返回值:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
public class Main {
public static void main(String[] args) {
// 创建一个字符串集合
Collection<String> strings = new ArrayList<String>(Arrays.asList("A", "B", "C", "D", "E"));
// 创建一个字符串集合用于保留元素
Collection<String> retainStrings = new ArrayList<String>(Arrays.asList("B", "D", "F"));
// 保留元素
boolean result = strings.retainAll(retainStrings);
// 输出结果
System.out.println("保留结果:" + result); // 输出 true
System.out.println("保留后的集合:" + strings); // 输出 [B, D]
}
}
以上代码中,我们创建了一个字符串集合 strings
,其中包含了 5 个元素。然后我们又创建了一个字符串集合 retainStrings
,其中包含了 3 个元素,但只有 2 个元素("B" 和 "D")在 strings
集合中出现过。
最后,我们调用 strings.retainAll(retainStrings)
方法保留了 strings
集合中与 retainStrings
集合中共有的元素,并将结果赋值给了 result
变量。因为 strings
集合确实被修改了,所以 result
的值为 true。
最后,我们输出了 strings
集合。可以看到,strings
集合中只剩下了共有的 2 个元素,即 "B" 和 "D"。