📌  相关文章
📜  用示例列出Java中的 retainAll() 方法(1)

📅  最后修改于: 2023-12-03 15:27:13.377000             🧑  作者: Mango

Java中的retainAll方法

在Java的集合类中,有一个名为retainAll的方法。这个方法用于从一个集合中删除指定的元素,保留与另一个集合重叠的元素。本文将介绍Java中的retainAll方法,并提供代码示例。

retainAll方法的方法签名

retainAll方法的方法签名如下:

boolean retainAll(Collection<?> c)

这个方法接收一个Collection类型的参数,它表示用于比较的另一个集合。

retainAll方法的作用

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方法的示例

以下是一个使用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等。