Android ha la propria implementazione di HashMap, che non usa Autoboxing ed è in qualche modo migliore per le prestazioni (CPU o RAM)?Quando utilizzare ArrayMap di Android anziché HashMap?
https://developer.android.com/reference/android/support/v4/util/ArrayMap.html
Da quello che ho letto qui, devo sostituire i miei oggetti HashMap con oggetti ArrayMap se ho HashMaps la cui dimensione è inferiore a centinaia di dischi e sarà spesso scritti. E non ha senso sostituire i miei HashMaps con ArrayMaps se contengono centinaia di oggetti e verranno scritti una sola volta e letti frequentemente. Ho ragione?
* che non utilizza Autoboxing *, dove l'hai letto? – Blackbelt
"Mantiene i suoi mapping in una struttura di dati dell'array - una serie intera di codici hash per ogni oggetto e una matrice Object delle coppie chiave/valore. Ciò gli consente di evitare di dover creare un oggetto extra per ogni voce inserita alla mappa " –
ArrayMap memorizza riferimenti a oggetti sia per le chiavi che per i valori, quindi non impedisce la boxe. Contrariamente alle classi SparseArray che possono impedire la boxe per chiavi e/o valori memorizzando tipi primitivi. Quello che afferma la documentazione è che rispetto alla classe HashMap, ArrayMap non crea alcun oggetto intermedio "Map.Entry" per ciascuna coppia chiave-valore. – BladeCoder