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