可能重复:
ArrayList Vs LinkedList
ArrayList vs. LinkedList which one is better for sorting
假设我们有100个字符串(名称)并想要对它们进行排序,哪个是ArrayList和LinkedList中的首选 偏好的原因是什么?
答案 0 :(得分:6)
使用Collections
API进行排序无关紧要。如果你看一下Collections.sort
的实现:
public static <T extends Comparable<? super T>> void sort(List<T> list) {
Object[] a = list.toArray();
Arrays.sort(a);
ListIterator<T> i = list.listIterator();
for (int j=0; j<a.length; j++) {
i.next();
i.set((T)a[j]);
}
}
您可以看到它执行以下操作:
List.toArray
Arrays.sort
方法对数组进行排序答案 1 :(得分:2)
取决于什么样的种类。
如果您要在开头插入/检索/删除很多,则ArrayLists很慢。 (大涟漪)
如果要在索引处插入/检索/删除,LinkedLists会很慢。
答案 2 :(得分:1)
应根据发生的操作做出实施选择。
请参阅here。
答案 3 :(得分:1)
http://commons.apache.org/collections/api-3.1/org/apache/commons/collections/list/TreeList.html
这可以让您了解每种类型列表的操作速度。显然,根据您的数据,您可能会发现一个操作比另一个更好(它们各自都有它们的优点和缺点)。