Реализация списков: действительно ли LinkedList так плохо работает по сравнению с ArrayList и TreeList?
Взято изапашTreeList
документ:
Следующая относительная статистика производительности является показательной для этого класса:
get add insert iterate remove
TreeList 3 5 1 2 1
ArrayList 1 1 40 1 40
LinkedList 5800 1 350 2 325
Это говорит:
LinkedList
редко является хорошим выбором реализации.TreeList
почти всегда является хорошей заменой, хотя он использует чуть больше памяти.
Мои вопросы:
Что сArrayList
,add
insert
, а такжеremove
времена сокрушительныхLinkedList
? Стоит ли ожидать, например, того, что реальные случаи вставки и удаления очень благоприятны?ArrayList
Является ли этоTreeList
просто положить гвоздь в гроб почтенного?LinkedList
Я испытываю желание заключить, что они амортизировались или игнорировалисьArrayList
s рост боли, и не принял во внимание время вставки и удаления для элемента вLinkedList
это уже было найдено.