當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java Stack retainAll()用法及代碼示例


java.util.Stack類的retainAll()方法用於從此堆棧中保留指定集合中包含的所有元素。

用法:

public boolean retainAll(Collection c)

參數:此方法將集合c作為包含要從此堆棧保留的元素的參數。


返回值:如果此堆棧由於調用而更改,則此方法返回true。

異常:如果此堆棧包含null元素並且指定的集合不允許null元素(可選),或者指定的collection為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 Stack<Integer> 
            Stack<Integer> 
                stack1 = new Stack<Integer>(); 
  
            // 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<Integer> 
            Stack<Integer> 
                stack2 = new Stack<Integer>(); 
            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<Integer> 
            Stack<Integer> 
                stack1 = new Stack<Integer>(); 
  
            // 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<Integer> 
            Stack<Integer> 
                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


相關用法


注:本文由純淨天空篩選整理自Code_r大神的英文原創作品 Stack retainAll() method in Java with Example。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。