Методът Java ArrayList retainAll () запазва само онези елементи в списъка с паралели, които също присъстват в посочената колекция.
И всички тези елементи, които не присъстват в посочената колекция, се премахват от списъка с паралели.
Синтаксисът на retainAll()
метода е:
arraylist.retainAll(Collection c);
Тук arraylist е обект на ArrayList
класа.
Параметри retainAll ()
В retainAll()
метода се един параметър.
- collection -само тези елементи, които присъстват в колекцията, се запазват в списъка с паралели.
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: (English, Java, Python) Общи елементи: (Python, Java)
В горния пример създадохме два списъка с имена languages1 и languages2. Забележете линията,
languages1.retainAll(languages2);
Тук предаваме езиците на arraylist2 като аргумент на retainAll()
метода. Методът премахва всички елементи от languages1, които не присъстват в languages2. Следователно се запазват само общи елементи.
Пример 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 се запазват в номерата на паралелите.