Java ArrayList retainAll () -metoden bevarer kun de elementer i arraylisten, der også er til stede i den angivne samling.
Og alle de elementer, der ikke er til stede i den angivne samling, fjernes fra arraylisten.
Metodens syntaks retainAll()
er:
arraylist.retainAll(Collection c);
Her er arraylist et objekt i ArrayList
klassen.
retainAll () Parametre
Den retainAll()
metode tager et enkelt parameter.
- samling - kun de elementer, der er til stede i samlingen, bevares i arraylisten.
retainAll () Returværdi
- returnerer,
true
hvis elementer fjernes fra arraylisten - kaster,
ClassCastException
hvis klassen af elementer, der er til stede i arraylisten, er uforenelig med klassen af elementer i den angivne samling - kaster,
NullPointerException
hvis arraylisten indeholder null-element, og den angivne samling ikke tillader null-elementer
Eksempel 1: Java ArrayList retainAll ()
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); ) )
Produktion
ArrayList 1: (JavaScript, Python, Java) ArrayList 2: (engelsk, Java, Python) Almindelige elementer: (Python, Java)
I ovenstående eksempel har vi oprettet to arraylister med navnet sprog1 og sprog2. Bemærk linjen,
languages1.retainAll(languages2);
Her sender vi arraylistens sprog2 som et argument til retainAll()
metoden. Metoden fjerner alle elementer fra sprog1, der ikke findes på sprog2. Derfor bevares kun fælles elementer.
Eksempel 2: Vis almindelige elementer mellem ArrayList og 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); ) )
Produktion
ArrayList: (1, 2, 3) HashSet: (2, 3, 5) Almindelige elementer: (2, 3)
I ovenstående eksempel har vi oprettet en arraylist med navne numre og et hashsæt med navnet primeNumbers. Bemærk linjen,
numbers.retainAll(primeNumbers);
Her retainAll()
fjerner metoden alle disse elementer fra tal, der ikke er til stede i primtal. Og holder kun de fælles elementer. Derfor bevares 2 og 3 i arraylistenumrene.