Java.util.ArrayList 类

java.util.ArrayList.retainAll() 方法用于仅保留给定列表中包含的元素在指定的集合中。换句话说,它从列表中删除指定集合中未包含的所有元素。

语法

public boolean retainAll(Collection<?> c)

参数

c 指定要保留在列表中的元素集合(所有其他元素都将被删除)。

返回值

如果列表因调用而更改,则返回 true。

异常

抛出NullPointerException,如果指定的集合为 null。

示例:

在下面的示例中,java.util.ArrayList.retainAll() 方法用于仅保留给定列表中指定集合中包含的元素。

import java.util.*;

public class MyClass {
  public static void main(String[] args) {
    //创建ArrayList
    ArrayList<Integer> ArrList1 = new ArrayList<Integer>();
    ArrayList<Integer> ArrList2 = new ArrayList<Integer>();

    //填充ArrList1
    ArrList1.add(10);
    ArrList1.add(20);
    ArrList1.add(30);
    ArrList1.add(40);
    ArrList1.add(50);

    //填充ArrList2
    ArrList2.add(20);
    ArrList2.add(40);
    ArrList2.add(60);

    //打印ArrList1
    System.out.println("Before retainAll, ArrList1 contains: " + ArrList1);

    //在ArrList1上应用retainAll方法
    ArrList1.retainAll(ArrList2);

    //打印ArrList1
    System.out.println("After retainAll, ArrList1 contains: " + ArrList1); 
  }
}

上述代码的输出将是:

Before retainAll, ArrList1 contains: [10, 20, 30, 40, 50]
After retainAll, ArrList1 contains: [20, 40]