Я попытался клонировать разреженный массив во временный и очистить оригинал перед добавлением временного SparseArray обратно в исходный, но поскольку поиск выполняется в двоичном формате, который, похоже, не работает. Есть ли способ сделать это или мне нужно посмотреть на альтернативные структуры отображения? Я сохраняю массив в файл JSON как JSONArray, и я не уверен, как я могу сделать это с общей картой.
Информация о SparseArrays и функции поиска, являющейся двоичным поиском, находится прямо здесь: https://developer.android.com/reference/android/util/SparseArray. Поэтому я спрашиваю, возможно ли добавить элементы в начало SparseArray, а не в конец. Кажется, что это невозможно, поэтому мне интересно, есть ли альтернативная эффективная структура отображения, которая может быть легко сохранена в файле JSON и позволяет мне добавлять элементы в начало структуры данных. Вот пример кода того, как я хочу сохранить структуру данных:
SparseArray<String> sparse = new SparseArray<>();
//Populate list...
JSONObject ListObject = new JSONObject();
ListObject.put("ListData", sparse);
Вот как я буду читать структуру отображения данных из файла JSON (я не верю, что смогу сделать это с помощью HashMap):
JSONObject temp = new JSONObject();
sparse = readJSONArray(temp.getJSONArray("ListData"));