关于Java:ArrayList 与 linkedList 的区别

Difference between arraylist and linkedList

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
When to use LinkedList<> over ArrayList<>?
When to use a linked list over an array/array list?

我什么时候应该使用ArrayList,什么时候应该使用LinkedList?

我什么时候应该使用TreeSetLinkedHashSetHashSet


1
When should i use arrayList and when should I go for LinkedList?

arraylist维护类似数组的索引。所以,如果想要比Put更频繁的get操作,那么最好使用arraylist。

LinkedList维护指向元素的指针。不能像在arraylist中那样使用特定的索引。但LinkedList的优势在于,它们不需要像ArrayList那样来回移动来维护连续索引。因此,LinkedList中的get操作成本很高,因为您必须通过指针才能到达元素。但是,与arraylist相比,put操作是很好的。你只需要连接指针就可以了。

1
When should I use TreeSet, LinkedHashSet and HashSet?

区别只在于顺序。treeset元素需要维护成员对象定义的特定顺序。