А если программировать никто не умеет, а если компьютера нет? Не издевайтесь. Если не можете контролировать простые вещи, то и «treat warnings as errors» не поможет, его отключат. И вообще…
2. Связь с енумом в том, что мы точно знаем сколько всего есть ключей.
P. S. Хорошие ответы, которые не многие бы дали. Я просто пытался сказать, что можно еще глубже копать и вопросы — не совсем для новичков.
1. Только вставка. Максимально быстро. ArrayList vs LinkedList?
2. При открытой адресации, даже если есть совпадения — оценка о(1). Если все хеши совпадают — да, бида, o(n).
Если в качестве ключа передается enum (может такое быть в Java?), реализация хеш-мапа может использовать двухуровневую схему хеширования с универсальным хешированием, на каждом из уровней. Такое есть в Java? Если есть / может быть — ваш ответ не полный.
3. Уверен что не будет больше поворотов, чем при случайном потоке данных?
Мне интересны ответы на эти вопросы:
Необходимо добавить 1млн. элемент, какую структуру вы используете?
Гарантирует ли HashMap указанную сложность выборки элемента?
Что будет, если добавлять элементы в TreeSet по возрастанию?