HashMap
работает с внутренними массивами фиксированной длины, и индексы, в которых будут храниться значения, основаны на хэше key
, и в случае столкновения для хэша он создаст связанный список по этому индексу и затем будет использовать equals
метод для возврата правильного значения во время чтения.
У меня есть собственный класс, у которого есть Integer
идентификатор в качестве последовательного числа, я использовал этот класс как 'key'
HashSet и в методе hasCode()
я возвращаю идентификатор, что означает, чтобазовый массив HashSet
будет искать индекс N, который я возвращаю из hasCode()
, чтобы сохранить значение.
Теперь, даже если я верну Integer.MAX_VALUE - 1
из hashCode()
, HashMap
сможет сохранить значение на карте.Вопрос в том, используется ли Integer.MAX_VALUE -1
в качестве индекса базового массива?Если да, HashMap
создает этот огромный массив при создании его экземпляра?