Android ma własną implementację HashMap, która nie korzysta z funkcji Autoboxing i jest w jakiś sposób lepsza pod względem wydajności (CPU lub RAM)?Kiedy używać mapy ArrayMap dla Androida zamiast HashMap?
https://developer.android.com/reference/android/support/v4/util/ArrayMap.html
Z tego co czytałem tutaj, muszę wymienić moje obiekty HashMap z obiektami ArrayMap jeśli mam HashMaps których wielkość jest poniżej setki rejestrów i będą często na piśmie. I nie ma sensu zamieniać moich HashMaps na ArrayMaps, jeśli mają one zawierać setki obiektów i będą zapisywane na raz i często czytane. Mam rację?
* Który nie korzysta z Autoboxing *, gdzie to przeczytałeś? – Blackbelt
"Zachowuje swoje odwzorowania w strukturze danych tablicowych - całkowitą tablicę kodów skrótu dla każdego elementu i tablicę obiektów par klucz/wartość, co pozwala uniknąć konieczności tworzenia dodatkowego obiektu dla każdego wprowadzonego wpisu do mapy " –
ArrayMap przechowuje odwołania do obiektów dla obu kluczy i wartości, dzięki czemu nie zapobiega boksu. W przeciwieństwie do klas SparseArray, które mogą zapobiegać boksowaniu kluczy i/lub wartości poprzez przechowywanie typów pierwotnych. W dokumentacji stwierdza się, że w porównaniu do klasy HashMap, ArrayMap nie tworzy żadnego pośredniego obiektu "Map.Entry" dla każdej pary klucz-wartość. – BladeCoder