image

Sascha Depold

Engineering Manager

Blog

HashMaps on-the-fly

Da ich derzeit studienbedingt mit Java hantiere, fiel mir auf, was fr ein Krampf das Erstellen von HashMaps in Java ist. Vom Durchiterieren sei an dieser Stelle noch gar nicht die Rede!

Da ich aus der JavaScript/Ruby-Welt komme und dort Hashes Gang und Gebe sind, war ich leicht schockiert :D

Wie also kann man eine HashMap erzeugen?

Map<String, List<String» map = new HashMap<String, List<String»();
map.put(“key”, new ArrayList<String>());
Map<String, List<String>> map = new HashMap<String, List<String>>(); map.put("key", new ArrayList<String>());

Ist doch intuitiv oder? ;) Nur zum Vergleich in Rails:

map = {:key => []}

Da ich fr meinen Code eine Methode gesucht habe, eine HashMap inline zu bergeben, musste Google herhalten und es kam folgendes heraus:

new HashMap<String, List<String>>(){{put(“key1”, new ArrayList<String>());
put(“key2”, new ArrayList<String>());
}}

Ich spare mir an dieser Stelle mal einen Ruby-Vergleich. Vielmehr werde ich mich mal darum bemhen einen Builder fr Hashes zu basteln.

… naaa gut doch noch schnell das Ruby-Pendent :D

{:key1 => [], :key2 => []}