Hallo Leute,
sorry, aber irgendwie bin ich gerade am verzweifeln, irgendwie funktionieren einige Sachen nicht so, wie ich es erwartet habe. Ich habe ein Event Counter geschrieben, der Code dazu sieht so aus:
Der Code funktioniert so, ich kann jedoch nicht verstehen, wieso ich die zwei Zeilen nach dem i++ brauche, in denen ich das Objekt rauswerfe und wieder einfüge.
Ich verstehe den Code so: Wenn der gesuchte String nicht in der Map enthalten ist, dann wird ein neues Integer Objekt mit dem Wert 1 erstellt. Dieses Objekt wird dann in die Map eingefügt mit dem String als Schlüssel.
So, nun tritt das gleiche Event ein. Ich lande nun im ersten Teil des IFs. Dann hole ich das Integer Objekt aus der Map und erstelle einen Pointer auf i. Anschließend wird das Objekt hinter i inkrementiert.
Meiner Meinung nach müsste hier ja schon Schluss sein, ist es aber nicht. Denn aus irgendeinem Grund wird anscheinend nicht das Objekt in der Map manipuliert. Aber wieso
sorry, aber irgendwie bin ich gerade am verzweifeln, irgendwie funktionieren einige Sachen nicht so, wie ich es erwartet habe. Ich habe ein Event Counter geschrieben, der Code dazu sieht so aus:
Code:
Map<String,Integer> auswertung = new HashMap<String,Integer>();
...
...
if(auswertung.containsKey(aktToken)){
Integer i = auswertung.get(aktToken);
i++;
auswertung.remove(aktToken);
auswertung.put(aktToken, i);
}else{
auswertung.put(aktToken, new Integer(1));
}
Der Code funktioniert so, ich kann jedoch nicht verstehen, wieso ich die zwei Zeilen nach dem i++ brauche, in denen ich das Objekt rauswerfe und wieder einfüge.
Ich verstehe den Code so: Wenn der gesuchte String nicht in der Map enthalten ist, dann wird ein neues Integer Objekt mit dem Wert 1 erstellt. Dieses Objekt wird dann in die Map eingefügt mit dem String als Schlüssel.
So, nun tritt das gleiche Event ein. Ich lande nun im ersten Teil des IFs. Dann hole ich das Integer Objekt aus der Map und erstelle einen Pointer auf i. Anschließend wird das Objekt hinter i inkrementiert.
Meiner Meinung nach müsste hier ja schon Schluss sein, ist es aber nicht. Denn aus irgendeinem Grund wird anscheinend nicht das Objekt in der Map manipuliert. Aber wieso