Nu ved jeg ikke helt, hvor jeg skal starte, men antager, at du har styr på HashMaps :)
Det er fordi når du smider et objekt i dit HashMap gør du det per reference. Og fordi du har deklereret din episodes variabel udenfor din while-løkkes scope, så har du kun referencer til det samme objekt. Et objekt som du ændrer værdier i for hver gang din while-løkke kører. Dvs. at datastrukturen i dit episodeID HashMap indeholder en række key value pairs, der ser således ud:
{key:episodeID , value: ->episodes}
episodeID er nyt for hver gang, da det specificeres af dit rs3.getInt(1) kald, men det du specificerer som value er en reference, som peger på et objekt, episodes, som du ændrer.
Det du skal gøre i stedet, er at lave et nyt HashMap for hver episode / iteration i din while-løkke, således at den objekt-reference du lægger i dit episodeID HashMap peger på et objekt, som du ikke ændrer ved hver iteration i din while-løkke.
Håber min beskrivelse giver mening :)
--
http://www.chomsky.info[...]