ArrayList'ten yinelenen öğeleri kaldırmak için Java Programı

Bu örnekte, yinelenen öğeyi Java'daki ArrayList'ten dönüştürmeyi öğreneceğiz.

Bu örneği anlamak için, aşağıdaki Java programlama konuları hakkında bilgi sahibi olmalısınız:

  • Java ArrayList Sınıfı
  • Java Set Arayüzü

Örnek 1: Set kullanarak ArrayList'ten yinelenen öğeleri kaldırın

 import java.util.ArrayList; import java.util.Arrays; import java.util.LinkedHashSet; import java.util.Set; class Main ( public static void main(String() args) ( // create an arraylist from the array // using asList() method of the Arrays class ArrayList numbers = new ArrayList(Arrays.asList(1, 2, 3, 4, 1, 3)); System.out.println("ArrayList with duplicate elements: " + numbers); // convert the arraylist into a set Set set = new LinkedHashSet(); set.addAll(numbers); // delete al elements of arraylist numbers.clear(); // add element from set to arraylist numbers.addAll(set); System.out.println("ArrayList without duplicate elements: " + numbers); ) )

Çıktı

 Yinelenen öğeler içeren ArrayList: (1, 2, 3, 4, 1, 3) Yinelenen öğeler içermeyen ArrayList: (1, 2, 3, 4)

Yukarıdaki örnekte, numbers adlı bir dizi listesi oluşturduk. Dizi listesi yinelenen öğeler içeriyor.

Dizi listesinden yinelenen öğeleri kaldırmak için,

  • dizi listesindeki tüm öğeleri ayarlamak için ekle
  • clear()yöntemi kullanarak dizi listesini boşaltın
  • kümeden dizi listesine tüm öğeleri ekle

Burada LinkedHashSetbir set oluşturmak için kullandık . Bunun nedeni, yinelenen öğeleri kaldırması ve ekleme sırasını sürdürmesidir. Daha fazla bilgi edinmek için Java LinkedHashSet'i ziyaret edin.

Örnek 2: Stream kullanarak ArrayList'ten yinelenen öğeleri kaldırın

 import java.util.ArrayList; import java.util.Arrays; import java.util.stream.Collectors; import java.util.stream.Stream; class Main ( public static void main(String() args) ( // create an arraylist from the array // using asList() method of the Arrays class ArrayList numbers = new ArrayList(Arrays.asList(1, 2, 3, 4, 1, 3)); System.out.println("ArrayList with duplicate elements: " + numbers); // create a stream from arraylist Stream stream = numbers.stream(); // call the distinct() of Stream // to remove duplicate elements stream = stream.distinct(); // convert the stream to arraylist numbers = (ArrayList)stream.collect(Collectors.toList()); System.out.println("ArrayList without duplicate elements: " + numbers); ) )

Çıktı

 Yinelenen öğeler içeren ArrayList: (1, 2, 3, 4, 1, 3) Yinelenen öğeler içermeyen ArrayList: (1, 2, 3, 4)

Yukarıdaki örnekte, numbers adlı bir dizi listesi oluşturduk. Dizi listesi yinelenen öğeler içeriyor.

Burada, dizi listesinden yinelenen öğeleri kaldırmak için Stream sınıfını kullandık.

  • numbers.stream () - dizi listesinden bir akış oluşturur
  • stream.distinct () - yinelenen öğeleri kaldırır
  • stream.collect (Collectors.toList ()) - akıştan bir liste döndürür

Burada, döndürülen listeyi bir dizi listesine dönüştürmek için typecasting kullandık.

Ilginç makaleler...