Разве Hashmap сортируется автоматичски?

249
05 мая 2018, 18:00

Написал тестовый код, чтоб объяснить проблему.

mport java.util.HashMap;
import java.util.Map;
public class Test {
    public static void main(String[] args) {
        HashMap<Integer, String> map = new HashMap<>();
        map.put(6,"A");
        map.put(3,"B");
        map.put(2,"C");
        map.put(7,"D");
        map.put(1,"E");
        for (Object obj :
                map.entrySet()) {
            Map.Entry <Integer, String> pair = (Map.Entry <Integer, String>) obj;
            System.out.println(pair.getKey()+" "+pair.getValue());
        }
    }
}
Консоль: 
1 E
2 C
3 B
6 A
7 D

Почему HashMap автоматически сортирует карты по ключу? Ведь насколько я знаю, он не должен этого делать.....

Answer 1

Хэш целого числа - это само значения этого числа, поэтому по бакетам числа распределятся последовательно и, соответственно, выведены тоже будут последовательно.

READ ALSO
Плавное изменение громкости SourceDataLine

Плавное изменение громкости SourceDataLine

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

265
Не вытягиваются данные с таблицы [требует правки]

Не вытягиваются данные с таблицы [требует правки]

не загружаются данние из таблиц

201
Что необходимо для запуска Java-программ?

Что необходимо для запуска Java-программ?

Предположим я написал программуСамую простую, калькулятор какой-нибудь

244
Получение индекса выбранной RadioButton

Получение индекса выбранной RadioButton

Есть следующая разметка:

336