Program Java do usuwania zduplikowanych elementów z ArrayList

W tym przykładzie nauczymy się konwertować zduplikowany element z ArrayList w Javie.

Aby zrozumieć ten przykład, należy znać następujące tematy dotyczące programowania w języku Java:

  • Klasa ArrayList języka Java
  • Interfejs zestawu Java

Przykład 1: Usuń zduplikowane elementy z ArrayList za pomocą Set

 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); ) )

Wynik

 ArrayList z zduplikowanymi elementami: (1, 2, 3, 4, 1, 3) ArrayList bez zduplikowanych elementów: (1, 2, 3, 4)

W powyższym przykładzie utworzyliśmy arraylistę o nazwie numbers. Arraylist zawiera zduplikowane elementy.

Aby usunąć zduplikowane elementy z listy arraylisty, mamy

  • dodaj wszystkie elementy od arraylist do zestawu
  • opróżnij arraylistę przy użyciu clear()metody
  • dodaj wszystkie elementy z zestawu do arraylist

Tutaj użyliśmy LinkedHashSetdo stworzenia zestawu. Dzieje się tak, ponieważ usuwa zduplikowane elementy i utrzymuje kolejność wstawiania. Aby dowiedzieć się więcej, odwiedź witrynę Java LinkedHashSet.

Przykład 2: Usuń zduplikowane elementy z ArrayList za pomocą Stream

 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); ) )

Wynik

 ArrayList z zduplikowanymi elementami: (1, 2, 3, 4, 1, 3) ArrayList bez zduplikowanych elementów: (1, 2, 3, 4)

W powyższym przykładzie utworzyliśmy arraylistę o nazwie numbers. Arraylist zawiera zduplikowane elementy.

W tym przypadku użyliśmy klasy Stream do usunięcia zduplikowanych elementów z listy arraylist.

  • numbers.stream () - tworzy strumień z listy arraylisty
  • stream.distinct () - usuwa zduplikowane elementy
  • stream.collect (Collectors.toList ()) - zwraca listę ze strumienia

Tutaj użyliśmy rzutowania typów, aby przekonwertować zwróconą listę na listę arraylistyczną.

Interesujące artykuły...