Я могу думать о нескольких причинах, по которым HashMap
с целыми ключами намного лучше, чем SparseArray
s:
- Документация Android для
SparseArray
гласит: "Это обычно медленнее, чем традиционныйHashMap
". - Если вы пишете код с помощью
HashMap
, а неSparseArray
, ваш код будет работать с другими реализациями Map, и вы сможете использовать все Java-API, разработанные для Maps. - Если вы пишете код с помощью
HashMap
, а неSparseArray
, ваш код будет работать в проектах, отличных от android. - Переопределяет карты
equals()
иhashCode()
, тогда какSparseArray
не работает.
Однако всякий раз, когда я пытаюсь использовать HashMap
с целыми ключами в проекте Android, IntelliJ говорит мне, что вместо этого я должен использовать SparseArray
. Мне это очень сложно понять. Кто-нибудь знает какие-либо веские причины для использования SparseArray
s?