Java SortedSet retainAll()方法及示例
SortedSet 接口的 retainAll() 方法用于保留这个SortedSet中包含在指定集合中的所有元素。
语法
public boolean retainAll(Collection c)
参数: 该方法以 集合c 为参数,包含要从这个SortedSet中保留的元素。
返回值: 如果这个SortedSet由于调用而发生了变化,那么这个方法将返回 true 。
异常: 如果这个集合包含一个空元素,而指定的集合不允许空元素(可选),或者指定的集合是空的,这个方法会抛出 NullPointerException 。
注意 :SortedSet中的retainAll()方法是继承自Java中的Set接口。
下面是一些例子来说明retainAll()方法。
例1 :
// Java program to demonstrate
// retainAll() method for Sorted set
import java.util.*;
public class GFG1 {
public static void main(String[] args)
throws Exception
{
try {
// Creating object of Set
SortedSet<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(
"Set before "
+ "retainAll() operation : "
+ arrset1);
// Creating another object of Set
SortedSet<Integer> arrset2
= new TreeSet<Integer>();
arrset2.add(1);
arrset2.add(2);
arrset2.add(3);
// print arrset2
System.out.println(
"Collection Elements"
+ " to be retained : "
+ arrset2);
// Removing elements from arrset
// specified in arrset2
// using retainAll() method
arrset1.retainAll(arrset2);
// print arrset1
System.out.println(
"Set after "
+ "retainAll() operation : "
+ arrset1);
}
catch (NullPointerException e) {
System.out.println(e);
}
}
}
输出
Set before retainAll() operation : [1, 2, 3, 4, 5]
Collection Elements to be retained : [1, 2, 3]
Set after retainAll() operation : [1, 2, 3]
例2: 对于NullPointerException
// Java program to demonstrate
// retainAll() method for Sorted set
import java.util.*;
public class GFG1 {
public static void main(String[] args)
throws Exception
{
try {
// Creating object of SortedSet<Integer>
SortedSet<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(
"Set before "
+ "retainAll() operation : "
+ arrset1);
// Creating another object of Set<Integer>
SortedSet<Integer> arrset2 = null;
// print arrset2
System.out.println(
"Collection Elements "
+ "to be retained : "
+ arrset2);
System.out.println(
"\nTrying to pass "
+ "null as a "
+ "specified element\n");
// Removing elements from arrset
// specified in arrset2
// using retainAll() method
arrset1.retainAll(arrset2);
// print arrset1
System.out.println(
"Set after "
+ "retainAll() operation : "
+ arrset1);
}
catch (NullPointerException e) {
System.out.println(e);
}
}
}
输出
Set before retainAll() operation : [1, 2, 3, 4, 5]
Collection Elements to be retained : null
Trying to pass null as a specified element
java.lang.NullPointerException
参考资料 : https://docs.oracle.com/javase/7/docs/api/java/util/Set.html#retainAll(java.util.Collection)