Java ArrayList containsAll ()

Java ArrayList containsAll () yöntemi, dizi listesinin belirtilen koleksiyonun tüm öğelerini içerip içermediğini kontrol eder.

containsAll()Yöntemin sözdizimi şöyledir:

 arraylist.containsAll(Collection c);

Burada dizi listesi, ArrayListsınıfın bir nesnesidir .

containsAll () Parametreleri

containsAll()Yöntem, tek bir parametre alır.

  • koleksiyon - tüm koleksiyon öğelerinin dizi listesinde olup olmadığını kontrol eder.

containsAll () Dönüş Değeri

  • truedizi listesi, koleksiyonun tüm öğelerini içeriyorsa döndürür
  • ClassCastExceptionarraylist içinde bulunan öğe sınıfı, belirtilen koleksiyondaki öğe sınıfı ile uyumlu değilse atar
  • NullPointerExceptionkoleksiyon boş öğeler içeriyorsa ve dizi listesi boş değerlere izin vermiyorsa atar

Not : containsAll()Metodun koleksiyonun dizi listesinin bir alt kümesi olup olmadığını kontrol ettiğini söyleyebiliriz .

Örnek 1: Java ArrayList containsAll ()

 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("Java"); languages2.add("Python"); System.out.println("ArrayList 2: " + languages2); // check if ArrayList 1 contains ArrayList 2 boolean result1 = languages1.containsAll(languages2); System.out.println("ArrayList 1 contains all elements of ArrayList 2: " + result1); // check if ArrayList 2 contains ArrayList 1 boolean result2 = languages2.containsAll(languages1); System.out.println("ArrayList 2 contains all elements of ArrayList 1: " + result2); ) )

Çıktı

 ArrayList 1: (JavaScript, Python, Java) ArrayList 2: (Java, Python) ArrayList 1, ArrayList 2'nin tüm öğelerini içerir: true ArrayList 2, ArrayList 1'in tüm öğelerini içerir: false

Yukarıdaki örnekte, diller1 ve diller2 adında iki dizi listesi oluşturduk. İfadeye dikkat edin,

 // return true languages1.containsAll(languages2)

Burada containsAll()yöntem, diller1'in dillerin2 tüm öğelerini içerip içermediğini kontrol eder. Dolayısıyla, yöntem geri döner true. Ancak, aşağıdaki ifadeye dikkat edin,

 // return false languages2.containsAll(languages1)

Burada containsAll()yöntem, diller2'nin tüm diller1 öğelerini içerip içermediğini kontrol eder. Dolayısıyla geri döner false.

Not : containsAll()Yöntem, ArrayListsınıfa özgü değildir . Sınıf, Listarayüzden miras alır .

Örnek 2: Java ArrayList ve HashSet Arasında containsAll ()

 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); System.out.println("HashSet: " + primeNumbers); // check if ArrayList contains all elements of HashSet boolean result1 = numbers.containsAll(primeNumbers); System.out.println("ArrayList contains all elements of HashSet: " + result1); // check if HashSet contains all elements of ArrayList boolean result2 = primeNumbers.containsAll(numbers); System.out.println("HashSet contains all elements of ArrayList: " + result2); ) )

Çıktı

 ArrayList: (1, 2, 3) HashSet: (2, 3) ArrayList, HashSet'in tüm öğelerini içerir: true HashSet, ArrayList'in tüm öğelerini içerir: false

Yukarıdaki örnekte, numbers adında bir dizi listesi ve primeNumbers adında bir hashset oluşturduk. İfadelere dikkat edin,

 // check if ArrayList contains HashSet // return true numbers.containsAll(primeNumbers) // check if HashSet contains ArrayList // return false primeNumbers.containsAll(numbers)

Not : Java ArrayList keepAll () yöntemi arasında ArrayListve onu HashSetkullanarak ortak öğeleri elde edebiliriz .

Ilginç makaleler...