import java.util.HashSet;
import java.util.Set;
public class Main2 {
public static void main(String[] args) {
Set
}
}
// Output:
// hash set: [1, 2, 5, 6, 7, 9, 11, 12, 13, 14, 35, 42, 832, 1000]
Ответ
Итак, дорогие мои. Отвечаю на собственный вопрос. Все мы ми знаем, или не все, что HashSet это тотже самое что и HashMap, только у HashSet -> values всегда null. Когда мы инициализируем HashSet или HashMap с конструктором по умолчанию, то создается масив на 16 корзин в котором будет содержатся "информация"(!) о hashCode обєкта ключа, которая будет соответствовать індексу корзины масива, где и будет содержатся ссылка на цельный обект(пара(ключ и значение)). Логически получается следующее, что если вы будете в качестве обекта ключа использовать клас Integer со значением в диапазоне от 0 - 15, то hashCode вам вернет само значение обєкта Integer, а это значение и будет индексом корзины в масиве к которому и будет привязана ссылка на целестный об*ект(пара(ключ и значение)).
Комментариев нет:
Отправить комментарий