Зачем глубокое понимание HashMap [закрыт]

162
31 марта 2019, 23:40

Не имею какого-то большого опыта в разработке, всего несколько лет, поэтому задам неочевидный лично мне вопрос, который в обычной жизни озвучивать как-то страшновато) Зачем на собеседованиях настолько жестко гоняют по HashMap ? Со всем остальным прям понятно, но зачем нам глубокое понимание того как она работает? В какой конкретный момент программисту надо прям понимание как оно работает? Прям жизненно надо понимать как происходит в неё вставка? Есть какой-то момент, когда у нас сильно просядет перфоманс из-за непонимания? Есть какая-то причина держать всё это в голове? Какие кейсы в прикладном программировании когда нам надо как-то жестко использовать хэмапу или хэштейбл что бы всем знать эти нюансы? Просто есть ощущение, что упускаю какую-то гигантскую часть жизни и весь мир использует хэшмапы как не в себя, при том что я за последние три года использовал их максимум раз 10 наверное, без каких-либо сложных кейсов. И ещё, раз уж начал глупые вопросы. Почему исходники той же хэшмапы настолько блин тяжело читать? Почему те же исходники спринга всегда прекрасны и понятны, но тут прям какой-то ад. Так сделано, потому что процессору быстрее этот страшный код перемалывать?

Answer 1

Вообще, я бы сказал, так:

  1. Знание того как устроены кишки HashMap не является обязательной историей
  2. Однако знание почему HashMap важен - это часть обязательной программы

Исходники HashMap это сущий адъ - соглашусь, не в последнюю очередь это благодаря тому, что его несколько раз переписывали - в частности в Java 8 он реализован через бинарное дерево, а в старых версиях это просто через список/массив.

Начнине с версии для Java 7 - там код более читабельный.

READ ALSO
java.sql.SQLException: The server time zone. MySQL 8

java.sql.SQLException: The server time zone. MySQL 8

Использую MySQL 8 на ОС Windows 10версия коннектора 8

148
Ищу аналог пробела в юникоде

Ищу аналог пробела в юникоде

Вы знали что можно использовать кириллицу при названии переменных в java?

189
JDBC Bath - ERROR Batch entry 295 <unknown> was aborted: Возвращено слишком много результатов обновления. В чем проблема?

JDBC Bath - ERROR Batch entry 295 <unknown> was aborted: Возвращено слишком много результатов обновления. В чем проблема?

Есть много одинаковых запросов insert, и для ускорения выполнения этих процессов, я хочу использовать statementexecuteBatch();

155
Приложение на Java для работы с БД [закрыт]

Приложение на Java для работы с БД [закрыт]

Я новичок в java программировании и совсем недавно начал изучать javaПростые вещи на java понятны (такие как создание классов, условия, циклы, коллекции,...

157