HashMap или List в Kotlin, когда размер только 20? - PullRequest
0 голосов
/ 03 июля 2019

У меня есть набор данных, который содержит только 20 фрагментов данных, я буду искать их 2 или 3 раза, как

data class Person{
   val fullName: String,
   val someField: SomeClass
}

Я знаю, что есть некоторые проблемы с HashMap, такие как память и производительность, и использование HashMap сэкономит мне несколько строк кода. Я не уверен, что лучше для меня, List или HashMap?

1 Ответ

2 голосов
/ 03 июля 2019
  • Когда вам нужна структура, из которой вы будете извлекать элементы случайным образом - используйте HashMap

  • Когда вы будете извлекать элементы по порядку (например, используяfor loop) - используйте List

Масштабируемость: LinkedHashMap - это наиболее требовательная к памяти коллекция в JDK.Он расширяет HashMap, используя LinkedHashMap.Entry в качестве записи во внутреннем массиве записей.LinkedHashMap.Entry расширяет HashMap.Entry, добавляя указатели «до» и «после», тем самым реализуя связанную очередь.Для нас это означает, что LinkedHashMap.Entry потребляет 40 байт (на 8 байт больше, чем HashMap.Entry).

Это означает, что LinkedHashMap потребляет 40 * SIZE + 4 * CAPACITY байт.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...