Не могу добавить значение в конце разреженного массива в Android
Я очень хорошо играл с sparseArray
до сегодняшнего дня. Теперь это выглядит как sparseArray не погасит мою любовь:(
Я должен поддерживать порядок своих объектов, которые я храню в sparseArray
, Есть только один метод setValueAt
это не позволяет установить ключ. key
это важно для меня.
Скажи мне, что обходится? Должен ли я взломать источник? Или если кто-то может помочь с пользовательским методом, который я могу добавить в свой собственный класс sparseArray, т.е. я буду кодировать MySparseArray
наследование от sparseArray
добавить мой этот метод. Мне нужно добавить объект с определенным ключом в последний индекс или в конце моего sparseArray
,
2 ответа
На основании документации для keyAt
Я полагаю, что именно так вы и должны добавить "конец" SparseArray.
SparseArray<Object> myArray = new SparseArray<Object>();
myArray.put(myArray.keyAt(myArray.size()-1) + 1, new Object());
Документация:
Ключи, соответствующие индексам в порядке возрастания, гарантированно находятся в порядке возрастания, например, keyAt(0) возвращает наименьший ключ, а keyAt(size()-1) возвращает наибольший ключ.
Согласно http://developer.android.com/reference/android/util/SparseArray.html, есть append(int key, E value)
метод - почему бы вам просто не использовать этот?