Всего несколько минут назад я ответил на вопрос о « Максимально возможный размер HashMap в Java ». Как я всегда читал, HashMap - это растущая структура данных. Его размер ограничен только размером памяти JVM. Поэтому я подумал, что для его размера нет жесткого ограничения, и ответил соответственно. (То же самое применимо и к HashSet.)
Но кто-то поправил меня, сказав, что, поскольку метод size () в HashMap возвращает int , существует ограничение на его размер. Совершенно правильный момент. Я просто попытался протестировать его на своем локальном компьютере, но потерпел неудачу, мне нужно более 8 ГБ памяти, чтобы вставить более 2147483647 целых чисел в HashMap, которых у меня нет.
Мои вопросы:
Если у кого-то есть доступ к машине с, скажем, 16 ГБ памяти, вы можете попробовать это на практике. :)