📌  相关文章
📜  Java中的堆栈retainAll()方法与示例

📅  最后修改于: 2022-05-13 01:55:15.866000             🧑  作者: Mango

Java中的堆栈retainAll()方法与示例

Java.util.Stack类的retainAll()方法用于从该堆栈中保留指定集合中包含的所有元素。

句法:

public boolean retainAll(Collection c)

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

返回值:如果此堆栈因调用而更改,则此方法返回true

异常:如果此堆栈包含空元素并且指定的集合不允许空元素(可选),或者指定的集合为空,则此方法抛出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 Stack
            Stack
                stack1 = new Stack();
  
            // Populating stack1
            stack1.add(1);
            stack1.add(2);
            stack1.add(3);
            stack1.add(4);
            stack1.add(5);
  
            // print stack1
            System.out.println("Stack before "
                               + "retainAll() operation : "
                               + stack1);
  
            // Creating another object of  Stack
            Stack
                stack2 = new Stack();
            stack2.add(1);
            stack2.add(2);
            stack2.add(3);
  
            // print stack2
            System.out.println("Collection Elements"
                               + " to be retained : "
                               + stack2);
  
            // Removing elements from stack
            // specified in stack2
            // using retainAll() method
            stack1.retainAll(stack2);
  
            // print stack1
            System.out.println("Stack after "
                               + "retainAll() operation : "
                               + stack1);
        }
  
        catch (NullPointerException e) {
            System.out.println("Exception thrown : " + e);
        }
    }
}
输出:
Stack before retainAll() operation : [1, 2, 3, 4, 5]
Collection Elements to be retained : [1, 2, 3]
Stack 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 Stack
            Stack
                stack1 = new Stack();
  
            // Populating stack1
            stack1.add(1);
            stack1.add(2);
            stack1.add(3);
            stack1.add(4);
            stack1.add(5);
  
            // print stack1
            System.out.println("Stack before "
                               + "retainAll() operation : "
                               + stack1);
  
            // Creating another object of  Stack
            Stack
                stack2 = null;
  
            // print stack2
            System.out.println("Collection Elements"
                               + " to be retained : "
                               + stack2);
  
            System.out.println("\nTrying to pass "
                               + "null as a specified element\n");
  
            // Removing elements from stack
            // specified in stack2
            // using retainAll() method
            stack1.retainAll(stack2);
  
            // print stack1
            System.out.println("Stack after "
                               + "retainAll() operation : "
                               + stack1);
        }
  
        catch (NullPointerException e) {
            System.out.println("Exception thrown : " + e);
        }
    }
}
输出:
Stack 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