Java中的AbstractSet removeAll()方法及示例
Java AbstractSet类的 removeAll() 方法用于从集合中删除包含在指定集合中的所有元素。
语法:
public boolean removeAll(Collection c)
参数: 该方法将取一个集合c,其中包含要从该集合中删除的元素。
返回值: 该方法将返回一个布尔值,如果此集合因调用而被更改,则返回true。
异常: 该方法引发三种类型的异常:
- UnsupportedOperationException – 如果此集合不支持该操作,则引发此异常。
- ClassCastException – 当此集合的元素的类与指定的集合不兼容时,则抛出此异常。
- NullPointerException – 如果此集合包含一个null元素,而指定的集合不允许null元素,或者集合为null时,则抛出此异常。
以下是演示removeAll()方法的示例。
程序1:
//演示removeAll()方法的Java程序
//适用于整数值
import java.util.*;
public class GFG1 {
public static void main(String[] args) throws Exception
{
try {
//创建AbstractSet<Integer>对象
AbstractSet<Integer>
abs_set = new TreeSet<Integer>();
//填充abs_set
abs_set.add(1);
abs_set.add(2);
abs_set.add(3);
abs_set.add(4);
abs_set.add(5);
//输出abs_set
System.out.println("removeAll()操作之前的AbstractSet : "
+ abs_set);
//创建另一个ArrayList<Integer>对象
Collection<Integer>
arrlist2 = new ArrayList<Integer>();
arrlist2.add(1);
arrlist2.add(2);
arrlist2.add(3);
//输出arrlist2
System.out.println("要删除的collection元素 : "
+ arrlist2);
//使用removeAll()方法从AbstractSet中删除在arrlist2中指定的元素
abs_set.removeAll(arrlist2);
//输出arrlist1
System.out.println("removeAll()操作之后的AbstractSet : "
+ abs_set);
}
catch (NullPointerException e) {
System.out.println("抛出异常 : " + e);
}
}
}
removeAll()操作之前的AbstractSet : [1, 2, 3, 4, 5]
要删除的collection元素 : [1, 2, 3]
removeAll()操作之后的AbstractSet : [4, 5]
示例2: 演示NullPointerException
// 演示 Integer 值的 removeAll() 方法的 Java 程序
import java.util.*;
public class GFG1 {
public static void main(String[] args) throws Exception
{
try {
// 创建 AbstractSet<Integer> 对象
AbstractSet<Integer>
abs_set = new TreeSet<Integer>();
// 填充 abs_set
abs_set.add(1);
abs_set.add(2);
abs_set.add(3);
abs_set.add(4);
abs_set.add(5);
// 打印 abs_set
System.out.println("AbstractSet before "
+ "removeAll() operation : "
+ abs_set);
// 创建另一个 ArrayList<Integer> 对象
Collection<Integer>
arrlist2 = new ArrayList<Integer>();
arrlist2 = null;
// 打印 arrlist2
System.out.println("Collection Elements"
+ " to be removed : "
+ arrlist2);
// 使用 removeAll() 方法从 AbstractSet 中删除在 arrlist2 中指定的元素
abs_set.removeAll(arrlist2);
// 打印 arrlist1
System.out.println("AbstractSet after "
+ "removeAll() operation : "
+ abs_set);
}
catch (NullPointerException e) {
System.out.println("Exception thrown : " + e);
}
}
}
AbstractSet before removeAll() operation : [1, 2, 3, 4, 5]
Collection Elements to be removed : null
Exception thrown : java.lang.NullPointerException
极客教程