Как сохранить порядок вставки в HashMap?

Я использую HashMap. Когда я перебираю карту, данные возвращаются в (часто одинаковом) случайном порядке. Но данные были вставлены в определенном порядке, и мне нужно сохранить порядок вставки. Как я могу это сделать?

Ответ 1

LinkedHashMap - именно то, что вы ищете.

Это точно как HashMap, за исключением того, что когда вы перебираете его, он представляет элементы в порядке вставки.

Ответ 2

HashMap неупорядочен по второй строке документации:

Этот класс не дает никаких гарантий относительно порядка карты; в частности, он не гарантирует, что порядок будет оставаться постоянным с течением времени.

Возможно, вы можете сделать то, что предлагает aix, и использовать LinkedHashMap или другую упорядоченную коллекцию. Эта ссылка может помочь вам найти наиболее подходящую коллекцию для использования.