Проблема с добавлением элементов в map

не могу понять почему при добавлении кириллицы((char) int) в ключ HashMap с определенной итерации элементы начинают добавляться в начало

Map<Character, Integer> alph = new HashMap<>();
for (int i = 1072; i <= 1103; i++) {
    alph.put((char) i, 0);
}

хотя тот же цикл, только при добавлении латиницы (97-122) все нормально


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

Автор решения: Qwertiy

Порядок элементов в HashMap произвольный - не зря же она так называется.

Если нужна отсортированная, то используй SortedMap.

А если в порядке добавления, то мне неизвестно, есть ли подходящая коллекция в джаве.

→ Ссылка
Автор решения: Roman-Stop RU aggression in UA

Порядок элементов при итерации по HashMap не гарантируется. То, что в каких-то случаях он может совпадать с порядком вставки - стечение обстоятельств, надеяться на это нельзя.

Пользуйтесь LinkedHashMap. В этой реализации Map итерация по элементам всегда производится в порядке вставки.

→ Ссылка