在Java中使用示例设置使用retainAll()方法

在Java中使用示例设置使用retainAll()方法

java.util.Set 接口的 retainAll() 方法用于从集合中保留与指定集合包含的所有元素。

语法:

public boolean retainAll(Collection c)

参数: 此方法将包含要从此集合中保留的元素的collection c作为参数。

返回值: 如果调用结果导致此集合发生更改,则此方法返回true。

异常: 如果此集合包含一个空元素且指定的集合不允许空元素(可选),或指定的集合为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程序演示Integer值的retainAll()方法

import java.util.*;

public class GFG1 {
    public static void main(String[] argv) throws Exception
    {
        try {

            // 创建Set<Integer>对象
            Set<Integer> arrset1 = new HashSet<Integer>();

            // 填充arrset1
            arrset1.add(1);
            arrset1.add(2);
            arrset1.add(3);
            arrset1.add(4);
            arrset1.add(5);

            // 打印arrset1
            System.out.println("在retainAll()操作之前的Set集合 : "
                                       + arrset1);

            // 再创建一个Set<Integer>对象
            Set<Integer> arrset2 = null;

            // 打印arrset2
            System.out.println("要保留的集合元素 : "
                                       + arrset2);

            System.out.println("\n试图将null作为指定元素传递\n");

            // 使用retainAll()方法从arrset1中删除在arrset2中指定的元素
            arrset1.retainAll(arrset2);

            // 打印arrset1
            System.out.println("在retainAll()操作之后的Set集合 : "
                                       + arrset1);
        }

        catch (NullPointerException e) {
            System.out.println("抛出异常 : " + e);
        }
    }
}
在retainAll()操作之前的Set集合 : [1, 2, 3, 4, 5]
要保留的集合元素 : null

试图将null作为指定元素传递

抛出异常 : java.lang.NullPointerException

参考文献 : https://docs.oracle.com/javase/7/docs/api/java/util/Set.html#retainAll(java.util.Collection)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程