java.util.Set接口的retainAll()方法用于从该集合中保留指定集合中包含的所有元素。
用法:
public boolean retainAll(Collection c)
参数:此方法将集合c作为包含要从该集合保留的元素的参数。
返回值:如果此集合因调用而更改,则此方法返回true。
异常:如果此集合包含null元素并且指定的集合不允许null元素(可选),或者指定的collection为null,则此方法引发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 Set
Set<Integer> arrset1 = new HashSet<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
Set<Integer> arrset2 = new HashSet<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("Exception thrown : " + 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 Integer value
import java.util.*;
public class GFG1 {
public static void main(String[] argv) throws Exception
{
try {
// Creating object of Set<Integer>
Set<Integer> arrset1 = new HashSet<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>
Set<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("Exception thrown : " + e);
}
}
}
输出:
Set 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
参考: https://docs.oracle.com/javase/7/docs/api/java/util/Set.html#retainAll(java.util.Collection)
相关用法
- Java Stack retainAll()用法及代码示例
- Java LinkedHashSet retainAll()用法及代码示例
- Java TreeSet retainAll()用法及代码示例
- Java AbstractSet retainAll()用法及代码示例
- Java ArrayList retainAll()用法及代码示例
- Java CopyOnWriteArraySet retainAll()用法及代码示例
- Java HashSet retainAll()用法及代码示例
- Java AbstractSequentialList retainAll()用法及代码示例
- Java Vector retainAll()用法及代码示例
- Java List retainAll()用法及代码示例
- Java CopyOnWriteArrayList retainAll()用法及代码示例
- Java AbstractCollection retainAll()用法及代码示例
- Java LinkedTransferQueue retainAll()用法及代码示例
- Java SortedSet retainAll()用法及代码示例
- Java LinkedBlockingDeque retainAll()用法及代码示例
注:本文由纯净天空筛选整理自gopaldave大神的英文原创作品 Set retainAll() method in Java with Example。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。