Java中的AbstractSet retainAll()方法示例

Java中的AbstractSet retainAll()方法示例

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

语法:

public boolean retainAll(Collection c)

参数:

这个方法需要将包含要从这个集合中保留的元素的集合c作为参数。

返回值:

如果此集合因调用而发生更改,则此方法返回true。

异常:

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

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

示例1:

//演示保留整数值的retainAll()方法的Java程序  
import java.util.*;
public class GFG1 {
    public static void main(String[] argv) throws Exception
    {
    try {

        //Creating object of AbstractSet <Integer>
        AbstractSet <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("AbstractSet在retainAll()操作之前:"
                               + arrset1);

        //Creating another object of  AbstractSet <Integer>
        AbstractSet <Integer>
            arrset2 = new TreeSet <Integer>();
        arrset2.add(1);
        arrset2.add(2);
        arrset2.add(3);

        // print arrset2
        System.out.println("要保留的Collection元素:"
                               + arrset2);

        //Removing elements from arrset
        // specified in arrset2
        // using retainAll() method
        arrset1.retainAll(arrset2);

        // print arrset1
        System.out.println("AbstractSet在retainAll()操作之后:"
                               + arrset1);
    }

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

示例2: 对于NullPointerException

// Java程序展示
// 对于整数值使用retainAll()方法

import java.util.*;

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

        try {

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

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

            // 打印arrset1
            System.out.println("AbstractSet在执行retainAll()之前 : " + arrset1);

            // 创建另一个AbstractSet的对象
            AbstractSet arrset2 = null;

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

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

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

            // 打印arrset1
            System.out.println("AbstractSet在执行retainAll()之后 : " + arrset1);
        }

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

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

抛出异常 : java.lang.NullPointerException

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程