Java SortedSet retainAll()方法及示例

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)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程