Страницы

Поиск по вопросам

среда, 1 января 2020 г.

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

#java #java_hashmap


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

mport java.util.HashMap;
import java.util.Map;

public class Test {
    public static void main(String[] args) {
        HashMap 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  pair = (Map.Entry ) obj;
            System.out.println(pair.getKey()+" "+pair.getValue());
        }
    }
}

Консоль: 
1 E
2 C
3 B
6 A
7 D


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


Ответы

Ответ 1



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

Комментариев нет:

Отправить комментарий