V tem primeru se bomo naučili pretvoriti podvojeni element iz ArrayList v Javi.
Če želite razumeti ta primer, morate poznati naslednje programske teme Java:
- Razred Java ArrayList
- Java Set Interface
Primer 1: Odstranite podvojene elemente iz seznama ArrayList s pomočjo 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); ) )
Izhod
ArrayList z podvojenimi elementi: (1, 2, 3, 4, 1, 3) ArrayList brez podvojenih elementov: (1, 2, 3, 4)
V zgornjem primeru smo ustvarili seznam izbranih številk. Seznam elementov vsebuje podvojene elemente.
Če želimo odstraniti podvojene elemente iz seznama, imamo
- dodaj vse elemente iz arraylist v set
- s pomočjo
clear()
metode izpraznite seznam - dodaj vse elemente iz nabora v seznam
Tukaj smo uporabili LinkedHashSet
za ustvarjanje niza. To je zato, ker odstrani podvojene elemente in ohrani vrstni red vstavljanja. Če želite izvedeti več, obiščite Java LinkedHashSet.
2. primer: Odstranite podvojene elemente iz seznama ArrayList s pomočjo 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); ) )
Izhod
ArrayList z podvojenimi elementi: (1, 2, 3, 4, 1, 3) ArrayList brez podvojenih elementov: (1, 2, 3, 4)
V zgornjem primeru smo ustvarili seznam izbranih številk. Seznam elementov vsebuje podvojene elemente.
Tu smo uporabili razred Stream za odstranjevanje podvojenih elementov iz seznama.
- numbers.stream () - ustvari tok iz arraylist-a
- stream.distinct () - odstrani podvojene elemente
- stream.collect (Collectors.toList ()) - vrne seznam iz toka
Tu smo za pretvorbo vrnjenega seznama v seznam arrayl uporabili preizkušanje vrst.