Java-programma om dubbele elementen uit ArrayList te verwijderen

In dit voorbeeld zullen we leren om het dubbele element uit de ArrayList in Java te converteren.

Om dit voorbeeld te begrijpen, moet u kennis hebben van de volgende Java-programmeeronderwerpen:

  • Java ArrayList-klasse
  • Java-setinterface

Voorbeeld 1: verwijder dubbele elementen uit ArrayList met 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); ) )

Uitvoer

 ArrayList met dubbele elementen: (1, 2, 3, 4, 1, 3) ArrayList zonder dubbele elementen: (1, 2, 3, 4)

In het bovenstaande voorbeeld hebben we een arraylist gemaakt met de naam numbers. De arraylist bevat dubbele elementen.

Om dubbele elementen uit de arraylist te verwijderen, hebben we

  • voeg alle elementen van arraylist toe aan set
  • maak de arraylist leeg met behulp van clear()method
  • voeg alle elementen toe van set tot arraylist

Hier hebben we de gebruikt LinkedHashSetom een ​​set te maken. Het is omdat het de dubbele elementen verwijdert en de invoegvolgorde handhaaft. Bezoek Java LinkedHashSet voor meer informatie.

Voorbeeld 2: verwijder dubbele elementen uit ArrayList met 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); ) )

Uitvoer

 ArrayList met dubbele elementen: (1, 2, 3, 4, 1, 3) ArrayList zonder dubbele elementen: (1, 2, 3, 4)

In het bovenstaande voorbeeld hebben we een arraylist gemaakt met de naam numbers. De arraylist bevat dubbele elementen.

Hier hebben we de Stream-klasse gebruikt om dubbele elementen uit de arraylist te verwijderen.

  • numbers.stream () - maak een stream van de arraylist
  • stream.distinct () - verwijdert dubbele elementen
  • stream.collect (Collectors.toList ()) - retourneert een lijst uit de stream

Hier hebben we typecasting gebruikt om de geretourneerde lijst om te zetten in een arraylist.

Interessante artikelen...