Metoda Java ArrayList keepAll () zachovává pouze ty prvky v seznamu polí, které jsou také přítomny v určené kolekci.
A všechny ty prvky, které nejsou v zadané kolekci, jsou odebrány z pole.
Syntaxe retainAll()
metody je:
arraylist.retainAll(Collection c);
Arraylist je zde objektem ArrayList
třídy.
Parametry keepAll ()
retainAll()
Metoda přebírá jeden parametr.
- kolekce - pouze ty prvky, které jsou přítomny v kolekci, jsou uchovávány v seznamu polí.
návratová hodnota keepAll ()
- vrátí,
true
pokud jsou prvky odebrány z pole - vyvolá,
ClassCastException
pokud třída prvků přítomných v poli je nekompatibilní s třídou prvků v zadané kolekci - vyvolá,
NullPointerException
pokud arraylist obsahuje null prvek a zadaná kolekce neumožňuje null prvky
Příklad 1: Java ArrayList keepAll ()
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); ) )
Výstup
ArrayList 1: (JavaScript, Python, Java) ArrayList 2: (Angličtina, Java, Python) Společné prvky: (Python, Java)
Ve výše uvedeném příkladu jsme vytvořili dva seznamy polí s názvem languages1 a languages2. Všimněte si řádku,
languages1.retainAll(languages2);
Zde předáváme metodu arraylist languages2 jako argument retainAll()
metodě. Metoda odstraní všechny prvky z jazyků1, které nejsou přítomny v jazycích2. Proto jsou zachovány pouze společné prvky.
Příklad 2: Zobrazit společné prvky mezi 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); ) )
Výstup
ArrayList: (1, 2, 3) HashSet: (2, 3, 5) Společné prvky: (2, 3)
Ve výše uvedeném příkladu jsme vytvořili seznam polí s názvem numbers a hashset s názvem primeNumbers. Všimněte si řádku,
numbers.retainAll(primeNumbers);
Zde retainAll()
metoda odstraní všechny tyto prvky z čísel, která nejsou obsažena v prvočíslech. A ponechává pouze společné prvky. Proto jsou 2 a 3 zachovány v číslech polí.