Вопрос про добавление элементов в Map

Всем привет! Делаю сериализатор/десериализатор для Json и возникла проблема с добавлением элементов в Map. Конкретнее: Элементы добавляются не в том порядке в каком мне нужно, т.е. я добавляю id, а потом name и owner, но на выходе я получаю owner, name, id. Из-за чего такое происходит и как можно это решить? Код добавления элементов в Map ниже

        public Map<String, Object> serialize() {
            Map<String, Object> map = new HashMap<>();
            map.put("id", id);
            map.put("name", name);
            map.put("owner", owner);
            System.out.println(map);
            return map;
        }

На выходе я получаю это {owner=LOVEC, name=Test, id=1}


Ответы (2 шт):

Автор решения: Roman Konoval

HashMap не сохраняет порядок элементов. Если нужно сохранять порядок используйте LinkedHashMap. Там значения хранятся в порядке вставки.

→ Ссылка
Автор решения: Aziz Umarov

Ответ свыше ясен конечно, но рекомендую LinkedMap. Он немного другой двусвязный

LinkedHashMap is almost right, in that it keeps an iterable list, but it is unfortunately a linked list... retrieving the Nth element requires iterating from 1 to N.

→ Ссылка