Java ArrayList retainAll () -metoden behåller endast de element i arraylistan som också finns i den angivna samlingen.
Och alla de element som inte finns i den angivna samlingen tas bort från arraylistan.
Syntaxen för retainAll()
metoden är:
arraylist.retainAll(Collection c);
Här är arraylist ett objekt i ArrayList
klassen.
retainAll () Parametrar
Den retainAll()
metod tar en enda parameter.
- samling - endast de element som finns i samlingen behålls i arraylistan.
retainAll () Returvärde
- returnerar
true
om element tas bort från arraylistan - kastar
ClassCastException
om klassen av element som finns i arraylista är oförenlig med klassen av element i den angivna samlingen - kastar
NullPointerException
om arraylistan innehåller null-element och den angivna samlingen tillåter inte null-element
Exempel 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: (engelska, Java, Python) Vanliga element: (Python, Java)
I ovanstående exempel har vi skapat två matrislistor med namnet språk1 och språk2. Lägg märke till raden,
languages1.retainAll(languages2);
Här skickar vi arraylistens språk2 som ett argument till retainAll()
metoden. Metoden tar bort alla element från språk1 som inte finns på språk2. Därför behålls endast vanliga element.
Exempel 2: Visa vanliga element mellan ArrayList och 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) Vanliga element: (2, 3)
I ovanstående exempel har vi skapat en arraylista med namnen och en hashset med namnet primeNumbers. Lägg märke till raden,
numbers.retainAll(primeNumbers);
Här retainAll()
tar metoden bort alla element från siffror som inte finns i primtal. Och behåller bara de vanliga elementen. Följaktligen behålls 2 och 3 i arraylistnumren.