Program Java pro odstranění duplicitních prvků z ArrayList

V tomto příkladu se naučíme převádět duplicitní prvek z ArrayList v Javě.

Abychom porozuměli tomuto příkladu, měli byste znát následující programovací témata Java:

  • Třída Java ArrayList
  • Rozhraní Java Set

Příklad 1: Odeberte duplicitní prvky z ArrayList 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); ) )

Výstup

 ArrayList s duplicitními prvky: (1, 2, 3, 4, 1, 3) ArrayList bez duplicitních prvků: (1, 2, 3, 4)

Ve výše uvedeném příkladu jsme vytvořili seznam skladeb s názvem numbers. Seznam polí obsahuje duplicitní prvky.

Chcete-li odstranit duplicitní prvky z pole, máme

  • přidat všechny prvky z arraylistu k nastavení
  • vyprázdněte seznam polí pomocí clear()metody
  • přidat všechny prvky ze sady do seznamu polí

Zde jsme použili LinkedHashSetk vytvoření sady. Je to proto, že odstraní duplicitní prvky a udržuje pořadí vložení. Další informace najdete na stránce Java LinkedHashSet.

Příklad 2: Odeberte duplicitní prvky z ArrayList 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); ) )

Výstup

 ArrayList s duplicitními prvky: (1, 2, 3, 4, 1, 3) ArrayList bez duplicitních prvků: (1, 2, 3, 4)

Ve výše uvedeném příkladu jsme vytvořili seznam skladeb s názvem numbers. Seznam polí obsahuje duplicitní prvky.

Tady jsme použili třídu Stream k odebrání duplicitních prvků z pole.

  • numbers.stream () - vytvoří stream z arraylistu
  • stream.distinct () - odstraní duplicitní prvky
  • stream.collect (Collectors.toList ()) - vrací seznam ze streamu

Zde jsme použili typecasting k převedení vráceného seznamu na seznam polí.

Zajímavé články...