Java中HashSet的retainAll()方法及示例

Java中HashSet的retainAll()方法及示例

java.util.HashSet 类的 retainAll() 方法用于从集合中保留包含在指定集合中的所有元素。

语法:

public boolean retainAll(Collection c)

参数: 该方法将包含保留元素的集合c作为参数。

返回值: 如果此集合因调用而更改,则此方法将返回true。

异常: 如果此集合包含空元素并且指定的集合不允许空元素(可选),或指定的集合为null,则此方法会引发 NullPointerException

下面是说明retainAll()方法的示例。

示例1:

//Java程序演示用于整数值的retainAll()方法

import java.util.*;

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

    try {

      //创建HashSet的对象
      HashSet arrset1 = new HashSet();

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

      //打印arrset1
      System.out.println("HashSet before " + "retainAll() operation : " + arrset1);

      //创建另一个对象 of HashSet
      HashSet arrset2 = new HashSet();
      arrset2.add(1);
      arrset2.add(2);
      arrset2.add(3);

      //打印arrset2
      System.out.println("Collection Elements" + " to be retained : " + arrset2);

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

      //打印arrset1
      System.out.println("HashSet after " + "retainAll() operation : " + arrset1);
    }

    catch (NullPointerException e) {
      System.out.println("Exception thrown : " + e);
    }
  }
}
HashSet before retainAll() operation : [1, 2, 3, 4, 5]
Collection Elements to be retained : [1, 2, 3]
HashSet after retainAll() operation : [1, 2, 3]

示例2: NullPointer异常

// Java程序展示了
// 保留整数值时的retainAll()方法
  
import java.util.*;
  
public class GFG1 {
    public static void main(String[] argv) throws Exception
    {
  
        try {
  
            // 创建HashSet<Integer>对象
            HashSet<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("HashSet before "
                               + "retainAll() operation : "
                               + arrset1);
  
            // 创建另一个HashSet<Integer>对象
            HashSet<Integer>
                arrset2 = null;
  
            // 输出arrset2
            System.out.println("Collection Elements"
                               + " to be retained : "
                               + arrset2);
  
            System.out.println("\nTrying to pass "
                               + "null as a specified element\n");
  
            // 使用retainAll()方法从arrset中删除
            // arrset2中指定的元素
            arrset1.retainAll(arrset2);
  
            // 输出arrset1
            System.out.println("HashSet after "
                               + "retainAll() operation : "
                               + arrset1);
        }
  
        catch (NullPointerException e) {
            System.out.println("Exception thrown : " + e);
        }
    }
}
HashSet 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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程