Program Java pentru eliminarea elementelor duplicate din ArrayList

În acest exemplu, vom învăța să convertim elementul duplicat din ArrayList în Java.

Pentru a înțelege acest exemplu, ar trebui să aveți cunoștințele despre următoarele subiecte de programare Java:

  • Clasa Java ArrayList
  • Interfață Java Set

Exemplul 1: Eliminați elementele duplicate din ArrayList folosind 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); ) )

Ieșire

 ArrayList cu elemente duplicat: (1, 2, 3, 4, 1, 3) ArrayList fără elemente duplicat: (1, 2, 3, 4)

În exemplul de mai sus, am creat un arraylist numit numere. Arraylist-ul conține elemente duplicat.

Pentru a elimina elementele duplicate din lista de arrayl, avem

  • adăugați toate elementele din arraylist la set
  • golirea arraylistului folosind clear()metoda
  • adăugați toate elementele de la set la arraylist

Aici, am folosit LinkedHashSetpentru a crea un set. Acest lucru se datorează faptului că elimină elementele duplicate și menține ordinea de inserare. Pentru a afla mai multe, vizitați Java LinkedHashSet.

Exemplul 2: Eliminați elementele duplicate din ArrayList folosind 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); ) )

Ieșire

 ArrayList cu elemente duplicat: (1, 2, 3, 4, 1, 3) ArrayList fără elemente duplicat: (1, 2, 3, 4)

În exemplul de mai sus, am creat un arraylist numit numere. Arraylist-ul conține elemente duplicat.

Aici, am folosit clasa Stream pentru a elimina elementele duplicate din lista de arrayl.

  • numbers.stream () - creați un flux din lista de arraylist
  • stream.distinct () - elimină elementele duplicate
  • stream.collect (Collectors.toList ()) - returnează o listă din flux

Aici, am folosit tipecastarea pentru a converti lista returnată într-un arraylist.

Articole interesante...