Konvertieren Map-werte in eine Liste in Java
- Definieren Sie eine Map, die in Java in eine Liste konvertiert werden soll
-
Verwenden Sie
Collector
-Streams, um eine Map in eine Liste in Java umzuwandeln
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 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.
LinkedInVerwandter Artikel - Java List
- Aufteilen einer Liste in Chunks in Java
- Filterliste in Java
- Finden Sie den Index eines Elements in einer Liste mit Java
- Holen Sie sich das erste Element aus der Liste in Java
- Unterschiede zwischen List und Arraylist in Java
- Konvertieren einer Sammlung in eine Liste in Java