Jak zachować kolejność wstawiania w Hashmapie? [duplikat]

To pytanie ma już odpowiedź tutaj:

Używam HashMap. Kiedy iteruję na mapie, dane są zwracane w (Często tej samej) losowej kolejności. Ale dane zostały wstawione w określonej kolejności I muszę zachować kolejność wstawiania. Jak mogę to zrobić?

Author: Boann, 2012-05-23

2 answers

LinkedHashMap właśnie tego szukasz.

Jest dokładnie taki sam jak HashMap, z tą różnicą, że po iteracji wyświetla pozycje w kolejności wstawiania.

 887
Author: NPE,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-05-22 21:15:07

HashMap jest nieuporządkowane w drugim wierszu dokumentacji:

Klasa ta nie daje żadnych gwarancji co do kolejności mapy; w szczególności nie gwarantuje, że kolejność pozostanie stała w czasie.

Być może możesz zrobić tak, jak sugeruje aix i użyć LinkedHashMap, lub innego uporządkowanego zbioru. ten link pomoże Ci znaleźć najbardziej odpowiednią kolekcję do wykorzystania.

 56
Author: nicholas.hauschild,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-09-20 12:08:09