У меня есть программа, которая использует ArrayList и этот тип T также реализует Comparable. Мне нужно сохранить этот список отсортированным.
На данный момент, когда я вставляю новый элемент, я добавляю его в ArrayList, а затем вызываю Collections.sort( мойArrayList).
Сортировка с помощью Collections.sort каждый раз, когда я вставляю новый элемент, серьезно ухудшает сложность выполнения?
Есть ли более подходящая структура данных, которую я могу использовать, чтобы всегда сохранять сортировку списка? Я знаю структуру под названием PriorityQueue, но мне также нужно иметь возможность получать элементы списка по индексу.
EDIT:
В моем В конкретном случае вставка нового элемента происходит гораздо реже, чем получение уже существующего элемента, поэтому в конечном итоге хорошим советом может быть также остаться с ArrayList, поскольку он имеет постоянную временную сложность получения элемента. Но если вы знаете что-нибудь еще...
Подробнее здесь: https://stackoverflow.com/questions/311 ... ems-sorted