De Java ArrayList behoudenAll () - methode behoudt alleen die elementen in de arraylist die ook aanwezig zijn in de opgegeven verzameling.
En al die elementen die niet aanwezig zijn in de opgegeven verzameling, worden verwijderd uit de arraylist.
De syntaxis van de retainAll()
methode is:
arraylist.retainAll(Collection c);
Hier is arraylist een object van de ArrayList
klasse.
behoudenAll () Parameters
De retainAll()
methode heeft één parameter nodig.
- collectie - alleen de elementen die aanwezig zijn in de collectie worden bewaard in de arraylist.
behoudenAll () Retourwaarde
- geeft terug
true
als elementen uit de arraylist worden verwijderd - gooit
ClassCastException
als de klasse van elementen die aanwezig is in arraylist niet compatibel is met de klasse van elementen in de opgegeven verzameling - gooit
NullPointerException
als de arraylist een null-element bevat en de opgegeven collectie geen null-elementen toestaat
Voorbeeld 1: Java ArrayList behoudenAll ()
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); ) )
Uitvoer
ArrayList 1: (JavaScript, Python, Java) ArrayList 2: (Engels, Java, Python) Algemene elementen: (Python, Java)
In het bovenstaande voorbeeld hebben we twee arraylists gemaakt met de naam talen1 en talen2. Let op de lijn,
languages1.retainAll(languages2);
Hier geven we de arraylist languages2 als argument door aan de retainAll()
methode. De methode verwijdert alle elementen uit languages1 die niet aanwezig zijn in languages2. Daarom blijven alleen gemeenschappelijke elementen behouden.
Voorbeeld 2: Toon gemeenschappelijke elementen tussen ArrayList en 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); ) )
Uitvoer
ArrayList: (1, 2, 3) HashSet: (2, 3, 5) Gemeenschappelijke elementen: (2, 3)
In het bovenstaande voorbeeld hebben we een arraylist gemaakt met de naam numbers en een hashset met de naam primeNumbers. Let op de lijn,
numbers.retainAll(primeNumbers);
Hier retainAll()
verwijdert de methode al die elementen uit getallen die niet aanwezig zijn in priemgetallen. En behoudt alleen de gemeenschappelijke elementen. Daarom blijven 2 en 3 behouden in de arraylijstnummers.