Path: csiph.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Lothar Kimmeringer Newsgroups: de.comp.lang.java Subject: Re: Probleme mit komplexem HashMap Date: Sat, 13 May 2017 22:09:42 +0200 Organization: Organization?! Only chaos here! Lines: 44 Message-ID: <1mo3wcc1sp3vo.dlg@kimmeringer.de> References: Reply-To: news@kimmeringer.de Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: individual.net 0xtATkgTyyuP7EaV8gY+PQXaFiix8UuGT5ykW7STAORp3pft6r Cancel-Lock: sha1:BFzoIu6MvnNeeygmeZK+GgTn3SQ= User-Agent: 40tude_Dialog/2.0.15.1de Xref: csiph.com de.comp.lang.java:13118 whofer@sunrise.ch wrote: > Anmerkung: Es wurde bewusst nur eine einzige List Variable > valSet verwendet und nicht deren zwei. Wenn du die gleiche Instanz von List in die Map setzt, brauchst du dich nicht zu wundern, wenn du ein und die selbe List als Value des Map-entry erhaelst. > List valSet = new ArrayList(); > > valSet.add("Apple"); > valSet.add("Aeroplane"); > > map.put(1, valSet); > valSet.clear(); Damit loescht du die Eintraege in der List, die als Value in der Map enthalten ist. Wuerdest du hier deine Ausgaberoutine durchfuehren, wuerdes du ein [] als Wert der Liste hinter Key(1) sehen. > valSet.add("Bat"); > valSet.add("Banana"); > > map.put(2, valSet); Damit setzt du die gleiche Liste, die schon bei Key(1) in der Map liegt fuer Key(2). Nachdem du es bewusst so gemacht hast, weiss ich nicht, ob es viel hilft zu sagen, dass du eine neue Liste erzeugen musst, statt die eine nur zu leoschen und neu zu befuellen. Was ist denn dein genauer Anwendungsfall? Gruesse, Lothar -- Lothar Kimmeringer E-Mail: spamfang@kimmeringer.de PGP-encrypted mails preferred (Key-ID: 0x8BC3CD81) Always remember: The answer is forty-two, there can only be wrong questions!