English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
يتحقق طريقة containsAll() لـ Java ArrayList مما إذا كانت ArrayList تحتوي على جميع العناصر في المجموعة المحددة.
جملة syntax لـ containsAll() هي:
arraylist.containsAll(Collection c);
collection - يتحقق مما إذا كانت جميع العناصر في المجموعة تظهر في ArrayList.
إذا كانت ArrayList تحتوي على جميع العناصر في المجموعة المحددة، فإنها تعود بـ true
إذا كانت فئة العناصر الموجودة في ArrayList غير متوافقة مع فئة العناصر في المجموعة المحددة، فإنه يسبب ClassCastException
إذا كانت المجموعة تحتوي على عنصر null ولا يسمح ArrayList بوجود null، فإنه يسبب NullPointerException
النصيحةيمكن القول بأن طريقة containsAll() تتحقق مما إذا كانت المجموعة فرعية من ArrayList.
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); // أنشئ قائمة ArrayList أخرى ArrayList<String> languages2 = new ArrayList<>(); // إضافة عناصر إلى ArrayList languages2.add("Java"); languages2.add("Python"); System.out.println("قائمة ArrayList 2: " + languages2); // يتحقق من أن قائمة ArrayList 1 تحتوي على جميع العناصر في قائمة ArrayList 2 boolean result1 = languages1.containsAll(languages2); System.out.println("قائمة ArrayList 1 تحتوي على جميع العناصر في قائمة ArrayList 2 : " + result1); // يتحقق من أن قائمة ArrayList 2 تحتوي على جميع العناصر في قائمة ArrayList 1 boolean result2 = languages2.containsAll(languages1); System.out.println("قائمة ArrayList 2 تحتوي على جميع العناصر في قائمة ArrayList 1 : " + result2); } }
النتائج
قائمة ArrayList 1: [JavaScript, Python, Java] قائمة ArrayList 2: [Java, Python] قائمة ArrayList 1 تحتوي على جميع العناصر في قائمة ArrayList 2 : true قائمة ArrayList 2 تحتوي على جميع العناصر في قائمة ArrayList 1 : false
في المثال السابق،أنشأنا قائمتين تسمى languages1 و languages2. لاحظ العبارة
// العودة إلى true languages1.containsAll(languages2)
هنا،يقوم طريقة containsAll() بفحص ما إذا كانت languages1 تحتوي على جميع العناصر في languages2. لذا،تعود القيمة إلى true. ولكن،لاحظ العبارة التالية:
// العودة إلى false languages2.containsAll(languages1)
في هذا السياق، يحتوي containsAll() method على التحقق من whether languages2 يحتوي على جميع عناصر languages1. لذا، يعود النتيجة إلى false
النصيحة: containsAll() method ليست مخصصة لـ ArrayList class. إنها تنسق مع interface List.
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); System.out.println("HashSet: " + primeNumbers); // التحقق من whether ArrayList يحتوي على جميع عناصر HashSet boolean result1 = numbers.containsAll(primeNumbers); System.out.println("ArrayList يحتوي على جميع عناصر HashSet : " + result1); // التحقق من whether HashSet يحتوي على جميع عناصر ArrayList boolean result2 = primeNumbers.containsAll(numbers); System.out.println("HashSet يحتوي على جميع عناصر ArrayList : " + result2); } }
النتائج
ArrayList: [1, 2, 3] HashSet: [2, 3] ArrayList يحتوي على جميع عناصر HashSet : true HashSet يحتوي على جميع عناصر ArrayList : false
في المثال السابق، قمنا بإنشاء ArrayList يُدعى numbers وHashSet يُدعى primeNumbers. لاحظ هذه التعبيرات،
// التحقق مما إذا كان ArrayList يحتوي على HashSet // العودة إلى true numbers.containsAll(primeNumbers) // التحقق مما إذا كان HashSet يحتوي على ArrayList // العودة إلى false primeNumbers.containsAll(numbers)
النصيحةيمكننا استخدام Java ArrayList طريقة retainAll()الحصول على العناصر المشتركة بين ArrayList و HashSet.