Java中的 LinkedHashSet retainAll() 方法与示例
Java.util.LinkedHashSet类的retainAll()方法用于从该集合中保留指定集合中包含的所有元素。
句法:
public boolean retainAll(Collection c)
参数:此方法将集合 c作为参数,其中包含要从该集合中保留的元素。
返回值:如果此集合因调用而更改,则此方法返回true 。
异常:如果此集合包含空元素并且指定的集合不允许空元素(可选),或者指定的集合为空,则此方法抛出NullPointerException 。
下面是说明retainAll()方法的示例。
示例 1:
// Java program to demonstrate
// retainAll() method for Integer value
import java.util.*;
public class GFG1 {
public static void main(String[] argv) throws Exception
{
try {
// Creating object of LinkedHashSet
LinkedHashSet
set1 = new LinkedHashSet();
// Populating set1
set1.add(1);
set1.add(2);
set1.add(3);
set1.add(4);
set1.add(5);
// print set1
System.out.println("LinkedHashSet before "
+ "retainAll() operation : "
+ set1);
// Creating another object of LinkedHashSet
LinkedHashSet
set2 = new LinkedHashSet();
set2.add(1);
set2.add(2);
set2.add(3);
// print set2
System.out.println("Collection Elements"
+ " to be retained : "
+ set2);
// Removing elements from set
// specified in set2
// using retainAll() method
set1.retainAll(set2);
// print set1
System.out.println("LinkedHashSet after "
+ "retainAll() operation : "
+ set1);
}
catch (NullPointerException e) {
System.out.println("Exception thrown : " + e);
}
}
}
输出:
LinkedHashSet before retainAll() operation : [1, 2, 3, 4, 5]
Collection Elements to be retained : [1, 2, 3]
LinkedHashSet after retainAll() operation : [1, 2, 3]
示例 2:对于NullPointerException
// Java program to demonstrate
// retainAll() method for Integer value
import java.util.*;
public class GFG1 {
public static void main(String[] argv) throws Exception
{
try {
// Creating object of LinkedHashSet
LinkedHashSet
set1 = new LinkedHashSet();
// Populating set1
set1.add(1);
set1.add(2);
set1.add(3);
set1.add(4);
set1.add(5);
// print set1
System.out.println("LinkedHashSet before "
+ "retainAll() operation : "
+ set1);
// Creating another object of LinkedHashSet
LinkedHashSet
set2 = null;
// print set2
System.out.println("Collection Elements"
+ " to be retained : "
+ set2);
System.out.println("\nTrying to pass "
+ "null as a specified element\n");
// Removing elements from set
// specified in set2
// using retainAll() method
set1.retainAll(set2);
// print set1
System.out.println("LinkedHashSet after "
+ "retainAll() operation : "
+ set1);
}
catch (NullPointerException e) {
System.out.println("Exception thrown : " + e);
}
}
}
输出:
LinkedHashSet 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