Konvertieren ArrayList in Set in Java

Mohammad Irfan 12 Oktober 2023
  1. Konvertieren ArrayList in HashSet mit dem naiven Ansatz in Java
  2. Konvertieren von ArrayList in HashSet mit Konstruktoren in Java
  3. Konvertierung von ArrayList in HashSet mit Java 8 Stream API
  4. Konvertieren von ArrayList in HashSet mit der Methode Set.copyOf() in Java
  5. Konvertieren von ArrayList in HashSet mit der Apache Commons Collection Library in Java
Konvertieren ArrayList in Set in Java

ArrayList ist eine Implementierungsklasse der List-Schnittstelle, die zum Speichern von Daten in linearer Reihenfolge verwendet wird, während das Set eine Schnittstelle ist, die über die HashSet-Klasse zum Speichern von Daten verfügt. Der Hauptunterschied zwischen diesen beiden besteht darin, dass das HashSet keine doppelten Elemente zulässt und eindeutige Elemente speichert.

In diesem Tutorial werden verschiedene Ansätze zum Konvertieren einer ArrayList in ein HashSet vorgestellt.

Konvertieren ArrayList in HashSet mit dem naiven Ansatz in Java

Dies ist der einfachste Ansatz, um eine Liste in eine Menge umzuwandeln.

Bei diesem Ansatz deklarieren wir zunächst eine leere Menge. Wir durchlaufen dann die Liste und fügen ihr Element nacheinander mit der Methode HashSet.add() zum Set hinzu. Wenn die Schleife endet, wird die Liste in eine Menge umgewandelt.

Sehen Sie sich den Code unten an.

import java.util.*;
public class SimpleTesting {
  public static void main(String args[]) {
    // initialise a list
    List<String> list =
        Arrays.asList("Karan", "Rahul", "Jay", "Laxman", "Praful", "Kushagra", "Karan");
    // intialise a set
    Set<String> set = new HashSet<String>();
    // apply for loop
    for (String ele : list) {
      set.add(ele);
    }
    // display the set
    for (String ele : set) {
      System.out.println(ele);
    }
  }
}

Ausgabe:

Rahul
Kushagra
Jay
Karan
Laxman
Praful

Im obigen Code haben wir eine Liste erstellt, die einige Namen speichert. Wir initialisieren auch ein leeres Set namens set.

Wir durchlaufen dann die Liste und fügen ihre Elemente einzeln zum Set hinzu. Zuletzt drucken wir die Elemente des Sets. Beachten Sie, wie die doppelten Elemente in der Liste eliminiert werden.

Konvertieren von ArrayList in HashSet mit Konstruktoren in Java

Dieser Ansatz ist der einfachste aller Ansätze. Bei diesem Ansatz übergeben wir die zu konvertierende Liste an den Konstruktor der HashSet-Klasse.

Dadurch entfällt die Notwendigkeit einer for-Schleife, wie sie im vorherigen Ansatz erforderlich war. Der Konstruktor gibt einen neuen Satz mit allen eindeutigen Elementen zurück.

Sehen Sie sich den Code unten an.

import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

public class SimpleTesting {
  public static void main(String args[]) {
    // initialise a list
    List<String> list =
        Arrays.asList("Karan", "Rahul", "Jay", "Laxman", "Praful", "Kushagra", "Karan");
    // intialise a set
    Set<String> set = new HashSet<String>(list);

    // display the set
    for (String ele : set) {
      System.out.println(ele);
    }
  }
}

Ausgabe:

Rahul
Kushagra
Jay
Karan
Laxman
Praful

Im obigen Code erstellen wir eine Liste, die einige Namen speichert. Wir initialisieren auch ein leeres Set namens set.

Wir übergeben die Liste als Argument an den Konstruktor von HashMap. Zuletzt drucken wir die Elemente des Sets. Beachten Sie, wie die doppelten Elemente in der Liste eliminiert werden.

Konvertierung von ArrayList in HashSet mit Java 8 Stream API

Wir haben die Java 8 Stream API verwendet, um die ArrayList in diesem Ansatz in ein HashSet zu konvertieren. Zuerst haben wir die Liste in einen Stream umgewandelt. Wir wenden dann die Funktion collect auf den Stream an.

Um in ein Set umzuwandeln, haben wir die Funktion Collectors.toSet() in der Operation collect verwendet, um ein Set zu erhalten. Sehen Sie sich den Code unten an.

import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;

public class SimpleTesting {
  public static void main(String args[]) {
    // initialise a list
    List<String> list =
        Arrays.asList("Karan", "Rahul", "Jay", "Laxman", "Praful", "Kushagra", "Karan");
    // intialise a set using stream
    Set<String> set = list.stream().collect(Collectors.toSet());

    // display the set
    for (String ele : set) {
      System.out.println(ele);
    }
  }
}

Ausgabe:

Rahul
Kushagra
Jay
Karan
Laxman
Praful

Wir haben eine Liste mit der Funktion List.stream() im obigen Code in einen Stream umgewandelt. Wir wenden die Operation collect auf den Stream an und übergeben die Methode Collectors.toSet() als Argument.

Dies führt zur Umwandlung des Streams in ein Set. Diese Menge speichern wir dann in der Variablenmenge.

Konvertieren von ArrayList in HashSet mit der Methode Set.copyOf() in Java

Java 10 bietet eine Set.copyof()-Methode, die eine Collection als Argument verwendet und einen unveränderlichen Satz zurückgibt, der die Elemente der angegebenen Collection enthält. Bei diesem Ansatz verwenden wir die Methode Set.copyOf(), um eine ArrayList in ein HashSet umzuwandeln.

import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
public class SimpleTesting {
  public static void main(String args[]) {
    // initialise a list
    List<String> list =
        Arrays.asList("Karan", "Rahul", "Jay", "Laxman", "Praful", "Kushagra", "Karan");
    // intialise a set
    Set<String> set = Set.copyOf(list);
    // display the set
    for (String ele : set) {
      System.out.println(ele);
    }
  }
}

Ausgabe:

Rahul
Kushagra
Jay
Karan
Laxman
Praful

Konvertieren von ArrayList in HashSet mit der Apache Commons Collection Library in Java

Wenn Sie mit der Apache Commons Collection-Bibliothek arbeiten, verwenden Sie die Methode CollectionUtils.addAll(), die zwei Argumente akzeptiert: Ziel-Sammlungsobjekt und Quell-Sammlungsobjekt.

Die Werte des Quellsammlungsobjekts werden in das Zielsammlungsobjekt kopiert und bilden einen Satz. Sehen Sie sich den Code unten an.

Dieser Code verwendet den Abhängigkeitscode der Apache Commons-Bibliothek. Fügen Sie zuerst diese Abhängigkeit zu Ihrem Java-Projekt hinzu, um diesen Code erfolgreich auszuführen.

<!-- https://mvnrepository.com/artifact/commons-collections/commons-collections -->
<dependency>
    <groupId>commons-collections</groupId>
    <artifactId>commons-collections</artifactId>
    <version>3.2.2</version>
</dependency>
import java.util.*;
public class SimpleTesting {
  public static void main(String args[]) {
    // initialise a list
    List<String> sourcelist =
        Arrays.asList("Karan", "Rahul", "Jay", "Laxman", "Praful", "Kushagra", "Karan");
    // intialise a set
    Set<String> targetset = new HashSet<String>();
    // Adding elements
    CollectionUtils.addAll(targetset, sourcelist);
    // display the set
    for (String ele : targetset) {
      System.out.println(ele);
    }
  }
}

Ausgabe:

Rahul
Kushagra
Jay
Karan
Laxman
Praful

Verwandter Artikel - Java ArrayList

Verwandter Artikel - Java Set