Java-program til fjernelse af duplikatelementer fra ArrayList

I dette eksempel lærer vi at konvertere duplikatelementet fra ArrayList i Java.

For at forstå dette eksempel skal du have kendskab til følgende Java-programmeringsemner:

  • Java ArrayList-klasse
  • Java Set Interface

Eksempel 1: Fjern duplikatelementer fra ArrayList ved hjælp af 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); ) )

Produktion

 ArrayList med duplikatelementer: (1, 2, 3, 4, 1, 3) ArrayList uden duplikatelementer: (1, 2, 3, 4)

I ovenstående eksempel har vi oprettet en arraylist med navn numre. Arraylisten indeholder duplikatelementer.

For at fjerne duplikatelementer fra arraylisten har vi

  • tilføj alle elementer fra arraylist til sæt
  • tøm arraylisten ved hjælp af clear()metoden
  • tilføj alle elementer fra sæt til arraylist

Her har vi brugt den LinkedHashSettil at oprette et sæt. Det er fordi det fjerner de duplikerede elementer og opretholder indsætningsrækkefølgen. Hvis du vil vide mere, skal du besøge Java LinkedHashSet.

Eksempel 2: Fjern duplikatelementer fra ArrayList ved hjælp af 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); ) )

Produktion

 ArrayList med duplikatelementer: (1, 2, 3, 4, 1, 3) ArrayList uden duplikatelementer: (1, 2, 3, 4)

I ovenstående eksempel har vi oprettet en arraylist med navn numre. Arraylisten indeholder duplikatelementer.

Her har vi brugt Stream-klassen til at fjerne duplikatelementer fra arraylisten.

  • numbers.stream () - opret en stream fra arraylisten
  • stream.distinct () - fjerner duplikatelementer
  • stream.collect (Collectors.toList ()) - returnerer en liste fra streamen

Her har vi brugt typecasting til at konvertere den returnerede liste til en arraylist.

Interessante artikler...