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


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


Java ArrayList retainAll() 方法僅保留arraylist 中也存在於指定集合中的那些元素。

並且,指定集合中不存在的所有元素都將從數組列表中刪除。

用法:

arraylist.retainAll(Collection c);

這裏,arraylistArrayList 類的對象。

參數:

retainAll() 方法采用單個參數。

  • collection- 隻有那些元素存在於collection保留在數組列表中。

返回:

  • 如果從數組列表中刪除元素,則返回 true
  • 拋出ClassCastException如果 arraylist 中存在的元素類與指定的元素類不兼容收藏
  • 拋出NullPointerException如果 arraylist 包含 null 元素並且指定的收藏不允許空元素

示例 1:Java ArrayList retainAll()

import java.util.ArrayList;

class Main {
    public static void main(String[] args) {
        // create an ArrayList
        ArrayList<String> languages1 = new ArrayList<>();

        // insert element to the ArrayList
        languages1.add("JavaScript");
        languages1.add("Python");
        languages1.add("Java");
        System.out.println("ArrayList 1: " + languages1);

        // create another ArrayList
        ArrayList<String> languages2 = new ArrayList<>();

        // add elements to ArrayList
        languages2.add("English");
        languages2.add("Java");
        languages2.add("Python");
        System.out.println("ArrayList 2: " + languages2);

        // retain the common element
        languages1.retainAll(languages2);
        System.out.println("Common Elements: " + languages1);
    }
}

輸出

ArrayList 1: [JavaScript, Python, Java]
ArrayList 2: [English, Java, Python]
Common Elements: [Python, Java]

在上麵的示例中,我們創建了兩個名為 languages1languages2 的數組列表。注意線,

languages1.retainAll(languages2);

在這裏,我們將數組列表 languages2 作為參數傳遞給 retainAll() 方法。該方法從 languages1 中刪除 languages2 中不存在的所有元素。因此,僅保留公共元素。

示例 2:顯示 ArrayList 和 HashSet 之間的公共元素

import java.util.ArrayList;
import java.util.HashSet;

class Main {
    public static void main(String[] args) {
        // create an ArrayList
        ArrayList<Integer> numbers = new ArrayList<>();

        // add element to ArrayList
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        System.out.println("ArrayList: " + numbers);

        // create a HashSet
        HashSet<Integer> primeNumbers = new HashSet<>();

        // add elements to HashSet
        primeNumbers.add(2);
        primeNumbers.add(3);
        primeNumbers.add(5);
        System.out.println("HashSet: " + primeNumbers);

        // retain common elements in the ArrayList
        numbers.retainAll(primeNumbers);
        System.out.println("Common Elements: " + numbers);
    }
}

輸出

ArrayList: [1, 2, 3]
HashSet: [2, 3, 5]
Common Elements: [2, 3]

在上麵的示例中,我們創建了一個名為 numbers 的數組列表和一個名為 primeNumbers 的哈希集。注意線,

numbers.retainAll(primeNumbers);

在這裏,retainAll()方法從numbers不存在於primeNumbers.並且,隻保留共同的元素。因此,23保留在數組列表中numbers.

相關用法


注:本文由純淨天空篩選整理自 Java ArrayList retainAll()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。