Java ArrayList retainAll () meetod hoiab massiiviloendis ainult neid elemente, mis sisalduvad ka määratud kogumis.
Ja kõik need elemendid, mida määratud kogumikus pole, eemaldatakse massiiviloendist.
Meetodi süntaks retainAll()
on:
arraylist.retainAll(Collection c);
Siin on arraylist ArrayList
klassi objekt .
retainAll () parameetrid
retainAll()
Meetod võtab ühe parameetri.
- kollektsioon - ainult need elemendid, mis kollektsioonis leiduvad, jäävad massiiviloendisse.
retainAll () tagastusväärtus
- naaseb,
true
kui elemendid eemaldatakse massiiviloendist - viskab,
ClassCastException
kui arraylistis olevate elementide klass ei ühildu määratud kogu elementide klassiga - viskab,
NullPointerException
kui arraylist sisaldab nullelementi ja määratud kogu ei luba nullelemente
Näide 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); ) )
Väljund
ArrayList 1: (JavaScript, Python, Java) ArrayList 2: (inglise, Java, Python) Ühised elemendid: (Python, Java)
Ülaltoodud näites oleme loonud kaks massiiviloendit nimega languages1 ja languages2. Pange tähele joont,
languages1.retainAll(languages2);
Siinkohal edastame retainAll()
meetodile argumendina arraylist languages2 . Meetod eemaldab keeltest1 kõik elemendid, mida keeltes pole2. Seega säilitatakse ainult ühised elemendid.
Näide 2: kuvage levinud elemendid ArrayListi ja HashSeti vahel
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äljund
ArrayList: (1, 2, 3) HashSet: (2, 3, 5) Ühised elemendid: (2, 3)
Ülaltoodud näites oleme loonud massiivide nimekirja nimedega ja hashset nimega primeNumbers. Pange tähele joont,
numbers.retainAll(primeNumbers);
Siin retainAll()
eemaldab meetod kõik need elemendid numbritest, mida peaarvudes pole. Ja hoiab ainult ühiseid elemente. Seega säilitatakse massiivide loendis 2 ja 3 .