Проблема с добавлением элементов в 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 шт):
Порядок элементов в HashMap произвольный - не зря же она так называется.
Если нужна отсортированная, то используй SortedMap.
А если в порядке добавления, то мне неизвестно, есть ли подходящая коллекция в джаве.
Порядок элементов при итерации по HashMap не гарантируется. То, что в каких-то случаях он может совпадать с порядком вставки - стечение обстоятельств, надеяться на это нельзя.
Пользуйтесь LinkedHashMap. В этой реализации Map итерация по элементам всегда производится в порядке вставки.