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
相關用法
- Java CopyOnWriteArrayList retainAll()用法及代碼示例
- Java List retainAll()用法及代碼示例
- Java Vector retainAll()用法及代碼示例
- Java LinkedTransferQueue retainAll()用法及代碼示例
- Java LinkedBlockingDeque retainAll()用法及代碼示例
- Java SortedSet retainAll()用法及代碼示例
- Java AbstractCollection clear()用法及代碼示例
- Java AbstractCollection addAll()用法及代碼示例
- Java AbstractCollection add()用法及代碼示例
- Java AbstractCollection isEmpty()用法及代碼示例
- Java AbstractCollection size()用法及代碼示例
- Java AbstractCollection remove()用法及代碼示例
- Java AbstractCollection contains()用法及代碼示例
- Java AbstractCollection containsAll()用法及代碼示例
- Java AbstractCollection toArray()用法及代碼示例
- Java AbstractCollection toString()用法及代碼示例
- Java AbstractCollection用法及代碼示例
- Java ArrayList retainAll()用法及代碼示例
- Java LinkedHashSet retainAll()用法及代碼示例
- Java AbstractSet retainAll()用法及代碼示例
- Java Stack retainAll()用法及代碼示例
- Java HashSet retainAll()用法及代碼示例
- Java AbstractSequentialList retainAll()用法及代碼示例
- Java CopyOnWriteArraySet retainAll()用法及代碼示例
注:本文由純淨天空篩選整理自DeepaliK1大神的英文原創作品 AbstractCollection retainAll() method in Java with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。