802 Stimmen

Wie konvertiert man in Java eine Karte in eine Liste?

Wie konvertiert man am besten eine Map<key,value> zu einer List<value> ? Einfach alle Werte durchlaufen und in eine Liste einfügen oder übersehe ich etwas?

1 Stimmen

Ich denke, es ist kein gutes Modell, wenn man eine Karte in eine Liste umwandeln muss. Man sollte den Code so schreiben, dass diese Situation nicht eintritt.

4voto

siva prasad Punkte 49
 Map<String, String > map = new HapshMap<String, String>;
 map.add("one","java");
 map.add("two", "spring");
 Set<Entry<String, String>> set = map.entrySet();
 List<Entry<String, String>> list = new ArrayList<Entry<String, String>>    (set);
 for(Entry<String, String> entry : list) {
   System.out.println(entry.getKey());
   System.out.println(entry.getValue());
 }

1voto

Hakan Anlamaz Punkte 53
HashMap<Integer, List<String>> map = new HashMap<>(); 
List<String> list = new ArrayList<String>();
list.add("Java");
list.add("Primefaces");
list.add("JSF");
map.put(1,list);
if(map != null){
    return new ArrayList<String>((Collection<? extends String>) map.values());
}

1voto

Hiral Pancholi Punkte 64

Hier ist die allgemeine Methode zum Abrufen von Werten aus map.

public static <T> List<T> ValueListFromMap(HashMap<String, T> map) {
    List<T> thingList = new ArrayList<>();

    for (Map.Entry<String, T> entry : map.entrySet()) {
        thingList.add(entry.getValue());
    }

    return thingList;
}

1voto

Stefan Haberl Punkte 8595

Wenn Sie eine unveränderlich Kopie der Werte:

List<Value> list = List.copyOf(map.values())

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X