Java中的Set removeAll()方法,附带示例
java.util.Set 接口的 removeAll() 方法用于从集合中删除与指定集合中包含的所有元素相同的所有元素。
语法:
public boolean removeAll(Collection c)
参数: 该方法以包含要从此集合中删除的元素的集合c作为参数。
返回值: 如果此集合由于调用而更改,则此方法返回true。
异常: 如果此集合包含空元素并且指定的集合不允许空元素(可选),或者指定的集合为空,则此方法会引发 NullPointerException 。
以下是说明removeAll()方法的示例。
示例1:
// Java程序演示了
//整数值的removeAll()方法。
import java.util.*;
public class GFG1 {
public static void main(String[] argv) throws Exception
{
try {
//创建Set对象
Set<Integer> set1 = new HashSet<Integer>();
//填充set1
set1.add(1);
set1.add(2);
set1.add(3);
set1.add(4);
set1.add(5);
//打印set1
System.out.println("Set before removeAll() operation:"
+ set1);
//创建另一个Set对象
Set<Integer> set2 = new HashSet<Integer>();
set2.add(1);
set2.add(2);
set2.add(3);
//打印set2
System.out.println("Collection Elements to be removed:"
+ set2);
//使用removeAll()方法从set中删除在set2中指定的元素
set1.removeAll(set2);
//打印set1
System.out.println("Set after removeAll() operation:"
+ set1);
}
catch (NullPointerException e) {
System.out.println("Exception thrown:" + e);
}
}
}
Set before removeAll() operation:[1, 2, 3, 4, 5]
Collection Elements to be removed:[1, 2, 3]
Set after removeAll() operation:[4, 5]
示例2: 用于演示 NullPointerException 异常。
// Java演示程序
// removeAll()方法对于整数值
import java.util.*;
public class GFG1 {
public static void main(String[] argv) throws Exception
{
try {
// 创建Set对象
Set<Integer> set1 = new HashSet<Integer>();
// 填充set1
set1.add(1);
set1.add(2);
set1.add(3);
set1.add(4);
set1.add(5);
// 输出set1
System.out.println("在调用removeAll()方法前的Set集合 : "
+ set1);
// 创建另一个Set<Integer>对象
Set<Integer> set2 = null;
// 输出set2
System.out.println("需要被移除的集合元素 : "
+ set2);
System.out.println("\n尝试将null作为指定元素传递\n");
// 从集合中移除元素
// 使用removeAll()方法指定set2
set1.removeAll(set2);
// 输出set1
System.out.println("在调用removeAll()方法后的Set集合 : "
+ set1);
}
catch (NullPointerException e) {
System.out.println("抛出异常: " + e);
}
}
}
在调用removeAll()方法前的Set集合 : [1, 2, 3, 4, 5]
需要被移除的集合元素 : null
尝试将null作为指定元素传递
抛出异常: java.lang.NullPointerException
参考资料 : https://docs.oracle.com/javase/7/docs/api/java/util/Set.html#removeAll(java.util.Collection)
极客教程