Java ArrayList retainAll ()

Η μέθοδος Java ArrayList retainAll () διατηρεί μόνο εκείνα τα στοιχεία στη λίστα πίνακα που υπάρχουν επίσης στην καθορισμένη συλλογή.

Και, όλα αυτά τα στοιχεία που δεν υπάρχουν στην καθορισμένη συλλογή καταργούνται από τη λίστα πίνακα.

Η σύνταξη της retainAll()μεθόδου είναι:

 arraylist.retainAll(Collection c);

Εδώ, η λίστα πίνακα είναι ένα αντικείμενο της ArrayListκλάσης.

retainAll () Παράμετροι

Η retainAll()μέθοδος παίρνει μία μόνο παράμετρο.

  • συλλογή - μόνο τα στοιχεία που υπάρχουν στη συλλογή διατηρούνται στη λίστα πίνακα.

retainAll () Τιμή επιστροφής

  • επιστρέφει trueεάν τα στοιχεία αφαιρεθούν από τη λίστα πίνακα
  • ρίχνει ClassCastExceptionεάν η κλάση των στοιχείων που υπάρχουν στη λίστα πίνακα δεν είναι συμβατή με την κλάση των στοιχείων στην καθορισμένη συλλογή
  • ρίχνει NullPointerExceptionεάν η λίστα πίνακα περιέχει μηδενικό στοιχείο και η καθορισμένη συλλογή δεν επιτρέπει μηδενικά στοιχεία

Παράδειγμα 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); ) )

Παραγωγή

 ArrayList 1: (JavaScript, Python, Java) ArrayList 2: (Αγγλικά, Java, Python) Κοινά στοιχεία: (Python, Java)

Στο παραπάνω παράδειγμα, δημιουργήσαμε δύο λίστες συστοιχιών που ονομάζονται γλώσσες1 και γλώσσες2. Παρατηρήστε τη γραμμή,

 languages1.retainAll(languages2);

Εδώ, περνάμε τις γλώσσες της λίστας πίνακα2 ως επιχείρημα στη retainAll()μέθοδο. Η μέθοδος αφαιρεί όλα τα στοιχεία από τις γλώσσες1 που δεν υπάρχουν στις γλώσσες2. Ως εκ τούτου, διατηρούνται μόνο κοινά στοιχεία.

Παράδειγμα 2: Εμφάνιση κοινών στοιχείων μεταξύ του ArrayList και του 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); ) )

Παραγωγή

 ArrayList: (1, 2, 3) HashSet: (2, 3, 5) Κοινά στοιχεία: (2, 3)

Στο παραπάνω παράδειγμα, δημιουργήσαμε μια λίστα πίνακα με αριθμούς και ένα κατακερματισμένο όνομα PrimeNumbers. Παρατηρήστε τη γραμμή,

 numbers.retainAll(primeNumbers);

Εδώ, η retainAll()μέθοδος αφαιρεί όλα αυτά τα στοιχεία από αριθμούς που δεν υπάρχουν στο primeNumbers. Και, διατηρεί μόνο τα κοινά στοιχεία. Ως εκ τούτου, τα 2 και 3 διατηρούνται στους αριθμούς της συστοιχίας.

ενδιαφέροντα άρθρα...