Здравствуйте, err_dev, Вы писали:
_>Подскажите пожалуйста какую-нибудь хорошую реализацию на Java. _>Про andriod SparseArray Знаю. Не походит. _>Благодарю.
Разреженный массив это Map<int, T>, если он не должен быть упорядочен по ключу, то бери hash map. Если не устраивает стандартный jdk HashMap<Integer, T> из-за потребления памяти, выбери другую имплеметацию, проведя перформанс тесты для твоих условий. Вот тут упоминаются несколько вариантов.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Map'ы не подходят. Т.к. массив предполагает операцию вставки, например, в центр списка.
например
[0]=A
[1]=B
[2]=C
[10]=X
[11]=Y
[12]=Z
C 3-го по 9 индекс пустоты.
Если будет вставка, например, между 10 и 11 элементом то индексы этих должны быть увеличены. 11->12, 12->13.
Сделать такое на мапе проблематично.
·>Здравствуйте, err_dev, Вы писали:
_>>Подскажите пожалуйста какую-нибудь хорошую реализацию на Java. _>>Про andriod SparseArray Знаю. Не походит. _>>Благодарю. ·>Разреженный массив это Map<int, T>, если он не должен быть упорядочен по ключу, то бери hash map. Если не устраивает стандартный jdk HashMap<Integer, T> из-за потребления памяти, выбери другую имплеметацию, проведя перформанс тесты для твоих условий. Вот тут упоминаются несколько вариантов.
_>Map'ы не подходят. Т.к. массив предполагает операцию вставки, например, в центр списка.
Ну не то что массив предполагает, но это можно сделать сдвигом, что более менее быстро работает. А какие ещё операции ещё нужны и их какую сложность ты ожидаешь?
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Чтоб List<E> имплементил
·>Здравствуйте, err_dev, Вы писали:
_>>Map'ы не подходят. Т.к. массив предполагает операцию вставки, например, в центр списка. ·>Ну не то что массив предполагает, но это можно сделать сдвигом, что более менее быстро работает. А какие ещё операции ещё нужны и их какую сложность ты ожидаешь?
Здравствуйте, err_dev, Вы писали:
_>Добрый день! _>Подскажите пожалуйста какую-нибудь хорошую реализацию на Java. _>Про andriod SparseArray Знаю. Не походит. _>Благодарю.
сколько требований... миллиарды элементов, вставка в середину, элементы не численные (судя по Z,T) и О(1) (судя по тому что "массив") обращение.
такого не бывает.
если будет точнее сформулированы требования к поиску/обращению, может быть подумать в сторону связанного списка и подкрепляющей индексной структурой