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


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


AbstractCollection 中的 retainAll() 方法有助於從另一個集合中保留指定集合的​​元素,並從結果中刪除不匹配的元素。

用法:

public boolean retainAll(Collection collection)

參數:此方法接受一個參數集合,該集合是包含需要保留的元素的集合。

返回值:該方法返回一個布爾值。如果集合中的元素被成功保留,則返回 “true”,否則返回 “false” 值。

異常:此方法引發以下異常:



  • 不支持的操作異常:如果集合不支持 retainAll() 方法。
  • ClassCastException:如果主集合的任何元素的類型與指定的集合不兼容(即被保留)。這是可選的。
  • NullPointerException :如果主集合包含任何空元素並且指定的集合不允許任何空值,或者指定的集合包含空元素。這是可選的。

下麵是一些例子來說明 retainAll() 方法的使用:

程序1:


// Java program to illustrate retainAll() method
  
import java.util.*;
  
public class AbstractCollectionDemo {
    public static void main(String[] args)
    {
        // Creating an arraylist
        AbstractCollection<Object> set1
            = new ArrayList<Object>();
  
        // adding values in set 1 list
        set1.add("one");
        set1.add("two");
        set1.add("three");
  
        // creating another arraylist
        AbstractCollection<Object> set2
            = new ArrayList<Object>();
  
        // adding values in set 2 list
        set2.add("three");
        set2.add("one");
        set2.add("five");
  
        // before invoking retainAll()
        System.out.println("Set 1 contains:\n"
                           + set1 + "\n");
        System.out.println("Set 2 contains:\n"
                           + set2 + "\n");
  
        // invoking retainAll()
        set2.retainAll(set1);
  
        // after invoking retainAll()
        System.out.println("Set 2 after"
                           + " invoking retainAll() method:\n"
                           + set2);
    }
}
輸出:
Set 1 contains:
[one, two, three]

Set 2 contains:
[three, one, five]

Set 2 after invoking retainAll() method:
[three, one]

程序2:顯示 NullPointerException


// Java program to illustrate retainAll() method
  
import java.util.*;
  
public class NullPointerExample {
    public static void main(String[] args)
    {
  
        // Creating an arraylist
        // and assigning null to it
        AbstractCollection<Object> set1 = null;
  
        // creating another arraylist
        AbstractCollection<Object> set2
            = new ArrayList<Object>();
  
        // adding values in set 2 list
        set2.add("one");
        set2.add("two");
        set2.add("three");
  
        // before invoking retainAll()
        System.out.println("Set 1 contains:"
                           + set1 + "\n");
        System.out.println("Set 2 contains:"
                           + set2 + "\n");
  
        try {
            // invoking retainAll()
            set2.retainAll(set1);
  
            // after invoking retainAll()
            System.out.println("Set 2 after invoking "
                               + "retainAll() method:\n"
                               + set2);
        }
        catch (Exception e) {
            System.out.println(e);
        }
    }
}
輸出:
Set 1 contains:null

Set 2 contains:[one, two, three]

java.lang.NullPointerException



相關用法


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