Wie speicher ich einen HashMap<String,String> return ?

Tockra

Lt. Commander
Registriert
Dez. 2008
Beiträge
1.063
Hallo Leute,

Ich würde gerne die Funktion getInfo : http://www.stefan1200.de/documentation/jts3serverquery/ nutzen. Leider returnt das eine große Menge an Strings. Zumindest werden sehr viele per System.out.println(ts.getInfo(ts.INFOMODE_CLIENTINFO,6) + ""); aus.

Wie kann ich nun alle gespeicherten Daten in einer Variabel speichern? Nutze ich dafür eine Array und wenn ja wie benutze ich noch gleich Arrays und wie kann ich dann auf die einzelnen Informationen zugreifen?

Gruß Tim
 
Na, die Map ist doch bereits Dein "Array". Du kannst auf die Daten mittels Map#get(String) zugreifen. Oder über alle Daten iterieren.

Code:
Map<String,String> info = ts.getInfo(ts.INFOMODE_CLIENTINFO, 6);

System.out.println(info.get("mykey"));

for (Map.Entry<String,String> entry: info.entrySet()) {
    System.out.println(entry.getKey() + " => " + entry.getValue());
}


Bei Verwendung von System.out.println(Map) wird die toString-Methode der Map aufgerufen, und die gibt Dir den Inhalt der Map aus. Allerdings nicht in einer schön formatierten Darstellung. Deswegen ist das Iterieren über die Map wie oben gezeigt hilfreich, weil so Schlüssel und Wert in einer eigenen Zeile stehen.
 
Zuletzt bearbeitet:
Wenn du über die Map iterierst, dann hast du ja innerhalb dieser Schleife genau ein Map-Element "in der Hand", nämlich "entry" hier. Dadurch musst du auch nicht mehr angeben welchen Map-Eintrag du willst, sondern fragst vom aktuellen den key und value ab.
 
Am Anfang wird man von der API schier erschlagen, aber es empfiehlt sich, sich peu a peu mit den wichtigsten Klassen zu beschäftigen. Das Collection-Framework gehört sicher dazu. In diesem Fall: http://download.oracle.com/javase/6/docs/api/java/util/Map.Entry.html

Aber wenn Dir nicht klar ist, wie eine Map als Rückgabewert verarbeitet werden kann, solltest Du Dich vielleicht noch etwas mit Grundlagen beschäftigen.

Wenn Du weißt, welche Daten Du möchtest, verwendest Du Map#get(String). Um sich alle Schlüssel anzeigen zu lassen, ist es hilfreich über diese zu iterieren, wie gezeigt.
 

Ähnliche Themen

Zurück
Oben