Java中HashSet的retainAll()方法及示例
java.util.HashSet 类的 retainAll() 方法用于从集合中保留包含在指定集合中的所有元素。
语法:
public boolean retainAll(Collection c)
参数: 该方法将包含保留元素的集合c作为参数。
返回值: 如果此集合因调用而更改,则此方法将返回true。
异常: 如果此集合包含空元素并且指定的集合不允许空元素(可选),或指定的集合为null,则此方法会引发 NullPointerException 。
下面是说明retainAll()方法的示例。
示例1:
//Java程序演示用于整数值的retainAll()方法
import java.util.*;
public class GFG1 {
public static void main(String[] argv) throws Exception {
try {
//创建HashSet的对象
HashSet arrset1 = new HashSet();
//填充arrset1
arrset1.add(1);
arrset1.add(2);
arrset1.add(3);
arrset1.add(4);
arrset1.add(5);
//打印arrset1
System.out.println("HashSet before " + "retainAll() operation : " + arrset1);
//创建另一个对象 of HashSet
HashSet arrset2 = new HashSet();
arrset2.add(1);
arrset2.add(2);
arrset2.add(3);
//打印arrset2
System.out.println("Collection Elements" + " to be retained : " + arrset2);
//从arrset1中删除在arrset2中指定的元素
//使用retainAll()方法
arrset1.retainAll(arrset2);
//打印arrset1
System.out.println("HashSet after " + "retainAll() operation : " + arrset1);
}
catch (NullPointerException e) {
System.out.println("Exception thrown : " + e);
}
}
}
HashSet before retainAll() operation : [1, 2, 3, 4, 5]
Collection Elements to be retained : [1, 2, 3]
HashSet after retainAll() operation : [1, 2, 3]
示例2: NullPointer异常
// Java程序展示了
// 保留整数值时的retainAll()方法
import java.util.*;
public class GFG1 {
public static void main(String[] argv) throws Exception
{
try {
// 创建HashSet<Integer>对象
HashSet<Integer>
arrset1 = new HashSet<Integer>();
// 添加元素到arrset1
arrset1.add(1);
arrset1.add(2);
arrset1.add(3);
arrset1.add(4);
arrset1.add(5);
// 输出arrset1
System.out.println("HashSet before "
+ "retainAll() operation : "
+ arrset1);
// 创建另一个HashSet<Integer>对象
HashSet<Integer>
arrset2 = null;
// 输出arrset2
System.out.println("Collection Elements"
+ " to be retained : "
+ arrset2);
System.out.println("\nTrying to pass "
+ "null as a specified element\n");
// 使用retainAll()方法从arrset中删除
// arrset2中指定的元素
arrset1.retainAll(arrset2);
// 输出arrset1
System.out.println("HashSet after "
+ "retainAll() operation : "
+ arrset1);
}
catch (NullPointerException e) {
System.out.println("Exception thrown : " + e);
}
}
}
HashSet before retainAll() operation : [1, 2, 3, 4, 5]
Collection Elements to be retained : null
Trying to pass null as a specified element
Exception thrown : java.lang.NullPointerException