Konvertieren Map-werte in eine Liste in Java

Sarwan Soomro 12 Oktober 2023
  1. Definieren Sie eine Map, die in Java in eine Liste konvertiert werden soll
  2. Verwenden Sie Collector-Streams, um eine Map in eine Liste in Java umzuwandeln
Konvertieren Map-werte in eine Liste in Java

Dieses Tutorial führt drei Programme aus, um zu zeigen, wie Hash-Map-Werte in Java in eine Liste konvertiert werden.

Definieren Sie eine Map, die in Java in eine Liste konvertiert werden soll

Bevor wir Map-werte in eine Liste umwandeln, müssen wir zuerst ein Mapnobjekt haben und ihm dann zwei Datentypen zuweisen: eine Ganzzahl (Schlüssel) und eine Zeichenfolge (Werte), bevor wir es in eine Liste gruppieren.

Die Schlüssel in diesem Programm sind die Drehzahlwerte der Autos, während die Saiten ihre Farben sind.

Syntax:

Map<Integer, String> M2L = new HashMap<>();
M2L.put(5000, "Toyata Black");
M2L.put(6000, "Audi White");
M2L.put(8000, "BMW Red");
M2L.put(12000, "Buggati Silver");

Verwenden Sie Collector-Streams, um eine Map in eine Liste in Java umzuwandeln

Collectors sind öffentliche Klassen, die Objekte in Java erweitern. Sie helfen auch, Elemente zu sammeln und Funktionen basierend auf verschiedenen Benchmarks zusammenzufassen, die Benutzer vordefinieren.

Hier verwenden wir die Methode keySet(), um Schlüssel zu erhalten, indem wir eine Array-Liste aus einem Satz erstellen, der von einer Map zurückgegeben wird.

Sehen Sie sich das folgende Beispiel an, das eine Map in eine Liste umwandelt.

Beispiel 1:

package maptolist;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class MapToList {
  public static void main(String[] args) {
    Map<Integer, String> M2L = new HashMap<>();
    M2L.put(1, "New York");
    M2L.put(2, "Toronto");
    M2L.put(3, "Berlin");
    List<Integer> ID = M2L.keySet().stream().collect(Collectors.toList());
    ID.forEach(System.out::println);
    List<String> NAME = M2L.values().stream().collect(Collectors.toList());
    NAME.forEach(System.out::println);
  }
}

Ausgabe:

1
2
3
New York
Toronto
Berlin

Betrachten Sie den folgenden Code in unserem zweiten Beispiel.

Syntax:

List<Integer> nums = maptolist.keySet().stream().collect(Collectors.toList());

Beispiel 2:

package maptolist;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class MaptoListExample2 {
  public static void main(String[] args) {
    Map<Integer, String> maptolist = new HashMap<>();
    maptolist.put(1, "This");
    maptolist.put(2, "Is");
    maptolist.put(3, "A");
    maptolist.put(4, "Demo");
    maptolist.put(5, "Example");
    List<Integer> nums = maptolist.keySet().stream().collect(Collectors.toList());
    System.out.println("Keys:");
    nums.forEach(System.out::println);
    // Conversion Strings
    List<String> chars = maptolist.values().stream().collect(Collectors.toList());
    System.out.println("Values:");
    chars.forEach(System.out::println);
  }
}

Ausgabe:

Keys:
1
2
3
4
5
Values:
This
Is
A
Demo
Example

Nachdem wir nun die zugrunde liegende Logik hinter Maps und Listen gesehen und eine Kombination von Objektkollektoren verwendet haben, finden Sie unten ein solides Map-in-List-Programm, das in jeder Situation funktioniert.

Die Funktion keySet() gibt eine Satzansicht der Schlüssel in der Map zurück, sodass Mapnänderungen auch für den Satz gelten. Hier bilden wir ein Paar innerhalb eines Wraps, um eine Liste von Schlüsseln zu erhalten, wie unten gezeigt.

Syntax:

List<String> setkey = new ArrayList<String>(MAP2LIST.keySet());

Beispiel 3:

package maptolist;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class MapToListExample3 {
  public static void main(String[] args) {
    // Define Map
    Map<String, String> MAP2LIST = new HashMap<String, String>();
    // Values (key as values)
    MAP2LIST.put("1 + 1", "TWO");
    MAP2LIST.put("10 - 5", "FIVE");
    MAP2LIST.put("2.4 + 3.6", "SIX");
    // Define list
    List<String> setkey = new ArrayList<String>(MAP2LIST.keySet());
    // foreach function extends setkey and prints the output
    setkey.forEach(System.out::println);
    List<String> setvalue = new ArrayList<String>(MAP2LIST.values());
    setvalue.forEach(System.out::println);
  }
}

Ausgabe:

10 - 5
1 + 1
2.4 + 3.6
FIVE
TWO
SIX
Sarwan Soomro avatar Sarwan Soomro avatar

Sarwan Soomro is a freelance software engineer and an expert technical writer who loves writing and coding. He has 5 years of web development and 3 years of professional writing experience, and an MSs in computer science. In addition, he has numerous professional qualifications in the cloud, database, desktop, and online technologies. And has developed multi-technology programming guides for beginners and published many tech articles.

LinkedIn

Verwandter Artikel - Java List

Verwandter Artikel - Java Map