Java program az ismétlődő elemek eltávolításához az ArrayList-ből

Ebben a példában megtanuljuk átalakítani a duplikált elemet a Java ArrayList-ből.

A példa megértéséhez ismernie kell a következő Java programozási témákat:

  • Java ArrayList osztály
  • Java Set Interface

1. példa: Távolítsa el az ismétlődő elemeket az ArrayList-ből a Set használatával

 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); ) )

Kimenet

 ArrayList ismétlődő elemekkel: (1, 2, 3, 4, 1, 3) ArrayList ismétlődő elemek nélkül: (1, 2, 3, 4)

A fenti példában létrehoztunk egy számokat tartalmazó tömblistát. A tömblista duplikált elemeket tartalmaz.

Az ismétlődő elemek eltávolításához a tömblistából van

  • adja hozzá az összes elemet a tömblistából a beállításhoz
  • clear()módszerrel ürítse ki a tömblistát
  • adja hozzá az összes elemet a halmazból a tömblistába

Itt LinkedHashSetegy halmaz létrehozásához használtuk a . Ez azért van, mert eltávolítja az ismétlődő elemeket és fenntartja a beszúrási sorrendet. További információkért látogasson el a Java LinkedHashSet oldalra.

2. példa: Távolítsa el az ismétlődő elemeket az ArrayList-ből a Stream segítségével

 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); ) )

Kimenet

 ArrayList ismétlődő elemekkel: (1, 2, 3, 4, 1, 3) ArrayList ismétlődő elemek nélkül: (1, 2, 3, 4)

A fenti példában létrehoztunk egy számokat tartalmazó tömblistát. A tömblista duplikált elemeket tartalmaz.

Itt a Stream osztályt használtuk az ismétlődő elemek eltávolításához a tömblistából.

  • számok.stream () - hozz létre egy adatfolyamot a tömblistából
  • stream.distinct () - eltávolítja az ismétlődő elemeket
  • stream.collect (Collectors.toList ()) - listát ad vissza a patakból

Itt a tipecasting-ot használtuk a visszaküldött lista tömblistává alakításához.

érdekes cikkek...