English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
The Java ArrayList retainAll() method only retains those elements that exist in both the ArrayList and the specified collection.
And, all elements not appearing in the specified collection are deleted from the arraylist.
The syntax of retainAll() method is:
arraylist.retainAll(Collection c);
collection- Only the elements existing in the collection are retained in the arraylist.
Returns true if an element is removed from the arraylist
If the element class existing in the arraylist is specifiedSetThe element class is incompatible, then a ClassCastException exception is thrown
If the arraylist contains null elements and the specifiedSetNullPointerException is thrown if null elements are not allowed
import java.util.ArrayList; class Main { public static void main(String[] args) { // إنشاء ArrayList ArrayList<String> languages1 = new ArrayList<>(); // إضافة العنصر إلى ArrayList languages1.add("JavaScript"); languages1.add("Python"); languages1.add("Java"); System.out.println("ArrayList 1: " + languages1); //create another ArrayList ArrayList<String> languages2 = new ArrayList<>(); // إضافة العنصر إلى ArrayList languages2.add("English"); languages2.add("Java"); languages2.add("Python"); System.out.println("ArrayList 2: " + languages2); // الحفاظ على العناصر المشتركة languages1.retainAll(languages2); System.out.println("العناصر المشتركة: " + languages1); } }
نتائج الخروج
ArrayList 1: [JavaScript, Python, Java] ArrayList 2: [English, Java, Python] العناصر المشتركة: [Python, Java]
في المثال السابق، قمنا بإنشاءArrayListين يُدعيان languages1 و languages2. لاحظ هذه السطر،
languages1.retainAll(languages2);
في هذا المثال، سنقوم بتقديم ArrayList languages2 كمعامل إلى طريقة retainAll()، والتي تزيل جميع العناصر التي لا تظهر في languages2 من languages1. لذلك، تُحفظ العناصر المشتركة فقط.
import java.util.ArrayList; import java.util.HashSet; class Main { public static void main(String[] args) { // إنشاء ArrayList ArrayList<Integer> numbers = new ArrayList<>(); // إضافة العنصر إلى ArrayList numbers.add(1); numbers.add(2); numbers.add(3); System.out.println("ArrayList: " + numbers); // إنشاء HashSet HashSet<Integer> primeNumbers = new HashSet<>(); // إضافة العنصر إلى HashSet primeNumbers.add(2); primeNumbers.add(3); primeNumbers.add(5); System.out.println("HashSet: " + primeNumbers); //حفظ العناصر المشتركة في ArrayList numbers.retainAll(primeNumbers); System.out.println("العناصر المشتركة: " + numbers); } }
نتائج الخروج
ArrayList: [1, 2, 3] HashSet: [2, 3, 5] العناصر المشتركة: [2, 3]
في المثال السابق، قمنا بإنشاء قائمة منفصلة تحت اسم numbers وقائمة منفصلة تحت اسم primeNumbers كجمع زوجي. لاحظ هذه السطر،
numbers.retainAll(primeNumbers);
في هذا السياق، سيزيل طريقة retainAll() جميع العناصر الموجودة في numbers التي لا توجد في primeNumbers، ويحتفظ فقط بالعناصر المشتركة. لذلك،2و3تُحفظ في arraylist numbers.