Java ArrayList retainAll ()

Metoda Java ArrayList retainAll () zachowuje tylko te elementy w arraylist, które są również obecne w określonej kolekcji.

Wszystkie elementy, których nie ma w określonej kolekcji, są usuwane z listy arraylisty.

Składnia retainAll()metody to:

 arraylist.retainAll(Collection c);

Tutaj arraylist jest obiektem ArrayListklasy.

retainAll () Parametry

retainAll()Sposób przyjmuje jeden parametr.

  • kolekcja - tylko te elementy obecne w kolekcji są zachowywane na liście arraylistycznej.

retainAll () Wartość zwracana

  • zwraca, truejeśli elementy zostaną usunięte z listy arraylisty
  • zgłasza, ClassCastExceptionjeśli klasa elementów obecnych w arraylist jest niezgodna z klasą elementów w określonej kolekcji
  • zgłasza, NullPointerExceptionjeśli arraylist zawiera element o wartości null, a określona kolekcja nie zezwala na elementy o wartości null

Przykład 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); ) )

Wynik

 ArrayList 1: (JavaScript, Python, Java) ArrayList 2: (English, Java, Python) Common Elements: (Python, Java)

W powyższym przykładzie utworzyliśmy dwie listy arraylistów o nazwach języki1 i języki2. Zwróć uwagę na linię,

 languages1.retainAll(languages2);

Tutaj przekazujemy arraylist languages2 jako argument do retainAll()metody. Metoda usuwa wszystkie elementy z języków1, których nie ma w językach2. Dlatego zachowywane są tylko wspólne elementy.

Przykład 2: Pokaż wspólne elementy między 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); ) )

Wynik

 ArrayList: (1, 2, 3) HashSet: (2, 3, 5) Elementy wspólne: (2, 3)

W powyższym przykładzie utworzyliśmy listę arraylistyczną o nazwie numbers i zestaw hashset o nazwie primeNumbers. Zwróć uwagę na linię,

 numbers.retainAll(primeNumbers);

Tutaj retainAll()metoda usuwa wszystkie te elementy z liczb, które nie są obecne w liczbach pierwszych. I zachowuje tylko wspólne elementy. Stąd 2 i 3 są zachowywane w liczbach arraylist.

Interesujące artykuły...