Ich habe eine Liste hier:Java: Putting Elemente aus Liste in HashMap effizient
List<QueryStrings> queryStrings
und Querystrings ist nur eine einfache Klasse
public class QueryStrings {
private Integer id;
private String rel;
private String impl;
}
ich die Liste in eine HashMap setzen müssen, wo die id wird der Schlüssel sein, ich tue es, wie dieses Recht jetzt, Looping der Liste ein Element zu einem Zeitpunkt:
HashMap<Integer, QueryStrings> queryMap = new HashMap<>();
for (QueryStrings element : queryStrings) {
Integer thisId = Integer.parseInt(element.getId());
queryMap.put(thisId, element);
}
gibt es eine bette r Weg zu diesem? Ich möchte nicht jedes einzelne Element wiederholen, ist das möglich?
Edit:
Sorry, ich soll die ganze Zahl nicht analysieren, so sollte der Code wie folgt aussehen:
HashMap<Integer, QueryStrings> queryMap = new HashMap<>();
for (QueryStrings element : queryStrings) {
queryMap.put(element.getId(), element);
}
Ich glaube, so etwas wie dies in Java8 'Map queryMap = queryStrings.stream() funktionieren würde, sammeln (toMap (element.getId(), Element).),' –
Warum nennen ' parseInt() '? 'id' ist bereits vom Typ' Integer', benutze einfach die ID direkt. – markspace
@ScaryWombat ID ist Interger richtig? Warum müssen wir analysieren – soorapadman