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 LinkedHashSet
til 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.