Konvertieren Sie eine Map in ein Array, eine Liste oder einen Satz in Java

Konvertieren Sie eine Karte in ein Array, eine Liste oder ein Set in Java

1. Überblick

Dieser kurze Artikel zeigt, wieconvert the values of a Map to an Array, a List or a Set mit einfachem Java verwendet werden, sowie ein kurzes Beispiel auf der Basis vonGuava.

Dieser Artikel ist Teil vonthe “Java – Back to Basic” series hier am Beispiel.

Weitere Lektüre:

Iteriere über eine Karte in Java

Erfahren Sie, wie Sie durch die Einträge einer Karte in Java iterieren können.

Read more

Der Unterschied zwischen map () und flatMap ()

Erfahren Sie mehr über die Unterschiede zwischen map () und flatMap (), indem Sie einige Beispiele für Streams und Optionals analysieren.

Read more

Wie speichere ich doppelte Schlüssel in einer Karte in Java?

Eine schnelle und praktische Anleitung zum Umgang mit doppelten Schlüsseln mithilfe von Multimaps in Java.

Read more

2. Ordnen Sie Werte dem Array zu

Betrachten wir zunächst die Konvertierung der Werte der Karte in ein Array,using plain java:

@Test
public void givenUsingCoreJava_whenMapValuesConvertedToArray_thenCorrect() {
    Map sourceMap = createMap();

    Collection values = sourceMap.values();
    String[] targetArray = values.toArray(new String[values.size()]);
}

3. Zugeordnete Werte der Liste zuordnen

Als Nächstes konvertieren wir die Werte einer Karte in eine Liste - mit einfachem Java:

@Test
public void givenUsingCoreJava_whenMapValuesConvertedToList_thenCorrect() {
    Map sourceMap = createMap();

    List targetList = new ArrayList<>(sourceMap.values());
}

Und mit Guava:

@Test
public void givenUsingGuava_whenMapValuesConvertedToList_thenCorrect() {
    Map sourceMap = createMap();

    List targetList = Lists.newArrayList(sourceMap.values());
}

4. Zu setzende Werte zuordnen

Zum Schluss konvertieren wir die Werte der Karte mit einfachem Java in ein Set:

@Test
public void givenUsingCoreJava_whenMapValuesConvertedToS_thenCorrect() {
    Map sourceMap = createMap();

    Set targetSet = new HashSet<>(sourceMap.values());
}

5. Fazit

Wie Sie sehen, können alle Konvertierungen mit einer einzigen Zeile ausgeführt werden, wobei nur die Java-Standardsammlungsbibliothek verwendet wird.

Die Implementierung all dieser Beispiele und Codefragmentecan be found over on GitHub project - dies ist ein Maven-basiertes Projekt, daher sollte es einfach zu importieren und auszuführen sein, wie es ist.