Я ищу хороший отсортированный список для Java. Погуглите, дайте мне несколько советов по использованию TreeSet / TreeMap. Но в этих компонентах отсутствует одно: произвольный доступ к элементу в наборе.
Например, я хочу получить доступ к n-му элементу в отсортированном наборе, но с TreeSet я должен перебрать другие n-1 элементы, прежде чем смогу туда добраться. Это было бы пустой тратой, поскольку в моем наборе было бы до нескольких тысяч элементов.
По сути, я ищу что-то похожее на отсортированный список в .NET, с возможностью быстрого добавления элемента, быстрого удаления элемента и произвольного доступа к любому элементу в списке.
Этот сортированный список реализован где-то?
Спасибо.
Отредактированный
Мой интерес к SortedList связан с этими проблемами:
Мне нужно вести список из многих тысяч объектов (и может вырасти до многих сотен тысяч). Эти объекты будут сохранены в базе данных. Я хочу случайным образом выбрать несколько десятков элементов из всего списка. Итак, я попытался сохранить отдельный список в памяти, который содержит первичные ключи (длинные числа) всех объектов. Мне нужно добавить / удалить ключи из списка, когда объект добавлен / удален из базы данных. Я сейчас использую ArrayList, но боюсь, что ArrayList не подойдет, когда число записей возрастет. (Представьте, что вам нужно повторять несколько сотен тысяч элементов каждый раз, когда объект удаляется из базы данных). Назад к тому времени, когда я занимался программированием на .NET, тогда я использовал бы отсортированный список (List - это класс .NET, который после того, как свойство Sorted установило значение true, будет поддерживать порядок своего элемента и обеспечивать бинарный поиск, который поможет удалить / вставить элемент очень быстрый). Я надеюсь, что смогу найти что-то похожее из java BCL, но, к сожалению, я не нашел хорошего соответствия.