TGViewer
Android Live 🤖 Android Live 🤖 @android_live · 5.12K subscribers
Post #599 4.14K
​​Сравнение ArrayMap, SparceArray и HashMap
#theory

В Android SDK есть большой пласт коллекций, которые мы не используем: ArrayMap, SparseArray, ArraySet и т.д. Но все они дают определённые преимущества в сравнении с их более популярными «братьями».
И знание того, когда какую коллекцию использовать даёт преимущество при оптимизации приложения, а также при прохождении некоторых этапов собеседования.

В статье автор детально рассказывает, как работает ArrayMap: что будет, если добавить первый элемент, второй элемент и как разрешается коллизия.

Далее автор сравнивает эти три коллекции между собой, с точки зрения памяти и скорости доступа. Выводы:
▪️если у вас меньше 1000 элементов, то используйте ArrayMap, так как идёт выигрыш по памяти;
▪️если ключами является целое число, то используйте SparseArray, так как идёт ещё больший выигрыш по памяти;
▪️если значений больше 1000, то HashMap выигрывает по скорости;

Добавлю, что плюсом у HashMap является отсутствие привязки к Android SDK, что позволяет использовать её также и в KMM проектах.
Очень интересно изучать то, как работают коллекции изнутри и разбираться в привычных инструментах. 🔥
More from @android_live
  1. Sep 29, 2026Post #1130
  2. Sep 29, 2026На днях попалась вакансия мечты Вроде всё начинается как неплохо: удалёнка, Kotlin/Jetpack…
  3. Sep 28, 2026На днях ревьювил код, связанный с копированием в буфер обмена И заметил, что многие прилож…
  4. Sep 26, 2026AirDrop на Android, похоже, уже есть на нескольких моделях Android Но, оказывается, всё эт…
  5. Sep 25, 2026Похоже, есть что посмотреть на выходных Недавно вышло интервью с Женей Вороновым Jake Whar…
  6. Sep 15, 2026Google выкатили ARTEMIS Эта инструмент, который превращает обычный текст в реальные действ…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →