"两个"arraylist和linkedlist的好处......可能在java中?

Bim*_*thy 8 java complexity-theory linked-list arraylist data-structures

当然,我知道arraylist和linkedlist之间的性能差异.我自己运行了测试,看到了arraylist和linkedlist之间插入/删除和迭代的巨大差异,这是一个非常大的列表.

(纠正我,如果我错了)我们通常更喜欢arraylist over linkedlist,因为:

1)我们实际上比插入/删除更频繁地进行迭代.所以我们更喜欢迭代比插入/删除更快.

2)链表的内存开销远远超过了arraylist

3)没有办法在批量插入/删除时将列表定义为链表,在迭代时作为arraylist.这是因为arraylist和linkedlist具有根本不同的数据存储技术.

我错了第3点[我希望如此:)]?是否有可能将这两个数据结构的好处放在一个列表中?我想,数据结构设计师必须考虑到它.

Chr*_*ble 1

如果您正在寻找一些性能更高的集合实现,请查看Javolution。该包提供了FastList和FastTable,它们至少可以减少在链表和数组列表之间进行选择的成本。