Metóda Java ArrayList keepAll () zachováva iba tie prvky v zozname polí, ktoré sú tiež prítomné v zadanej kolekcii.
A všetky tie prvky, ktoré nie sú prítomné v zadanej kolekcii, sú odstránené z poľa.
Syntax retainAll()
metódy je:
arraylist.retainAll(Collection c);
Arraylist je tu objektom ArrayList
triedy.
Parametre keepAll ()
retainAll()
Metóda preberá jeden parameter.
- kolekcia - v poli sa zachovajú iba tie prvky, ktoré sa nachádzajú v kolekcii.
návratová hodnota keepAll ()
- vráti,
true
ak sú prvky odstránené z polia - hodí,
ClassCastException
ak je trieda prvkov prítomných v poli nezlučiteľná s triedou prvkov v zadanej kolekcii - hodí
NullPointerException
v prípade, že ArrayList obsahuje nulový prvok a uvedený zber neumožňuje null prvky
Príklad 1: Java ArrayList keepAll ()
import java.util.ArrayList; class Main ( public static void main(String() args) ( // create an ArrayList ArrayList 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 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); ) )
Výkon
ArrayList 1: (JavaScript, Python, Java) ArrayList 2: (angličtina, Java, Python) Spoločné prvky: (Python, Java)
Vo vyššie uvedenom príklade sme vytvorili dva zoznamy polí pomenované jazyky1 a jazyky2. Všimnite si riadok,
languages1.retainAll(languages2);
Tu predkladáme metódu arraylist languages2 ako argument retainAll()
metóde. Metóda odstráni všetky prvky z jazykov1, ktoré sa nenachádzajú v jazykoch2. Preto sa zachovajú iba spoločné prvky.
Príklad 2: Zobraziť spoločné prvky medzi ArrayList a HashSet
import java.util.ArrayList; import java.util.HashSet; class Main ( public static void main(String() args) ( // create an ArrayList ArrayList 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 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); ) )
Výkon
ArrayList: (1, 2, 3) HashSet: (2, 3, 5) Spoločné prvky: (2, 3)
Vo vyššie uvedenom príklade sme vytvorili zoznam skladieb s názvom number a hash s názvom primeNumbers. Všimnite si riadok,
numbers.retainAll(primeNumbers);
Tu retainAll()
metóda odstráni všetky tieto prvky z čísel, ktoré nie sú v prvočíslach. A ponecháva iba spoločné prvky. Preto sú čísla 2 a 3 zachované v číslach zoznamov polí.