Java中的AbstractSet retainAll()方法示例
java.util.AbstractSet 类中的 retainAll() 方法用于保留包含在指定集合中的集合中所有元素。
语法:
public boolean retainAll(Collection c)
参数:
这个方法需要将包含要从这个集合中保留的元素的集合c作为参数。
返回值:
如果此集合因调用而发生更改,则此方法返回true。
异常:
如果该集合包含一个null元素并且指定的集合不允许null元素(可选),或指定的集合为空,则此方法会引发 NullPointerException 。
以下是说明retainAll()方法的示例。
示例1:
//演示保留整数值的retainAll()方法的Java程序
import java.util.*;
public class GFG1 {
public static void main(String[] argv) throws Exception
{
try {
//Creating object of AbstractSet <Integer>
AbstractSet <Integer>
arrset1 = new TreeSet <Integer>();
//Populating arrset1
arrset1.add(1);
arrset1.add(2);
arrset1.add(3);
arrset1.add(4);
arrset1.add(5);
// print arrset1
System.out.println("AbstractSet在retainAll()操作之前:"
+ arrset1);
//Creating another object of AbstractSet <Integer>
AbstractSet <Integer>
arrset2 = new TreeSet <Integer>();
arrset2.add(1);
arrset2.add(2);
arrset2.add(3);
// print arrset2
System.out.println("要保留的Collection元素:"
+ arrset2);
//Removing elements from arrset
// specified in arrset2
// using retainAll() method
arrset1.retainAll(arrset2);
// print arrset1
System.out.println("AbstractSet在retainAll()操作之后:"
+ arrset1);
}
catch (NullPointerException e) {
System.out.println("抛出异常:" + e);
}
}
retainAll()操作之前的AbstractSet:[1, 2, 3, 4, 5]
要保留的Collection元素:[1, 2, 3]
retainAll()操作之后的AbstractSet:[1, 2, 3]
示例2: 对于NullPointerException
// Java程序展示
// 对于整数值使用retainAll()方法
import java.util.*;
public class GFG1 {
public static void main(String[] argv) throws Exception {
try {
// 创建AbstractSet的对象
AbstractSet arrset1 = new TreeSet();
// 填充arrset1
arrset1.add(1);
arrset1.add(2);
arrset1.add(3);
arrset1.add(4);
arrset1.add(5);
// 打印arrset1
System.out.println("AbstractSet在执行retainAll()之前 : " + arrset1);
// 创建另一个AbstractSet的对象
AbstractSet arrset2 = null;
// 打印arrset2
System.out.println("将保留的集合元素: " + arrset2);
System.out.println("\n试图将null作为指定的元素传递\n");
// 使用retainAll()方法从arrset1中删除在arrset2中指定的元素
arrset1.retainAll(arrset2);
// 打印arrset1
System.out.println("AbstractSet在执行retainAll()之后 : " + arrset1);
}
catch (NullPointerException e) {
System.out.println("抛出异常: " + e);
}
}
}
AbstractSet在执行retainAll()之前 : [1, 2, 3, 4, 5]
将保留的集合元素: null
试图将null作为指定的元素传递
抛出异常 : java.lang.NullPointerException
极客教程