Java ArrayList retainAll ()

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 ArrayListklassen.

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 trueom element tas bort från arraylistan
  • kastar ClassCastExceptionom klassen av element som finns i arraylista är oförenlig med klassen av element i den angivna samlingen
  • kastar NullPointerExceptionom 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.

Intressanta artiklar...