📅  最后修改于: 2023-12-03 15:27:13.377000             🧑  作者: Mango
在Java的集合类中,有一个名为retainAll的方法。这个方法用于从一个集合中删除指定的元素,保留与另一个集合重叠的元素。本文将介绍Java中的retainAll方法,并提供代码示例。
retainAll方法的方法签名如下:
boolean retainAll(Collection<?> c)
这个方法接收一个Collection类型的参数,它表示用于比较的另一个集合。
retainAll方法的作用是,将调用该方法的集合中的元素,保留与另一个集合重叠的元素,并删除不重叠的元素。
举例来说,假设集合A和集合B如下所示:
ArrayList<Integer> A = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5));
HashSet<Integer> B = new HashSet<>(Arrays.asList(4, 5, 6, 7, 8));
如果我们调用A的retailAll方法,传入参数B,那么A中的元素1、2、3将被删除,因为它们在集合B中不存在。
boolean result = A.retainAll(B);
System.out.println(result); // true,表示A的内容发生了变化
System.out.println(A); // [4, 5]
以下是一个使用retainAll方法的示例:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
public class Main {
public static void main(String[] args) {
ArrayList<Integer> A = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5));
HashSet<Integer> B = new HashSet<>(Arrays.asList(4, 5, 6, 7, 8));
System.out.println(A);
System.out.println(B);
boolean result = A.retainAll(B);
System.out.println(result); // true,表示A的内容发生了变化
System.out.println(A); // [4, 5]
}
}
运行这段代码,输出的结果是:
[1, 2, 3, 4, 5]
[8, 4, 5, 6, 7]
true
[4, 5]
retainAll方法用于保留集合中与另一个集合重叠的元素,删除不重叠的元素。这个方法仅对可修改的集合类型可用,例如ArrayList,Set等。