可能性の重複:
ArrayList Vs LinkedList
ArrayList vs. LinkedList which one is better for sortingのArrayListまたはLinkedListの
我々は100の文字列(名前)を持っているとのArrayListとLinkedListの外に好まれている1、それらをソートしたいとします この設定の理由は?
可能性の重複:
ArrayList Vs LinkedList
ArrayList vs. LinkedList which one is better for sortingのArrayListまたはLinkedListの
我々は100の文字列(名前)を持っているとのArrayListとLinkedListの外に好まれている1、それらをソートしたいとします この設定の理由は?
どのような種類のソートに依存しますか。
最初にたくさん挿入/取り出し/削除する場合は、配列リストが遅くなります。 (大きなリップル)
インデックスに挿入/検索/削除しようとすると、リンクされたリストが遅くなります。あなたの操作は、リストの種類ごとにどのように速いのアイデアを提供します
ありがとうinfo.evenこれも私が探している –
ソートアルゴリズムをゼロから実装する時間を無駄にしない限り、この情報はあなたを助けません。たとえそうであっても、リストを配列にコピーして配列をソートすることで、より効率的な並べ替えを得ることができます。 –
@StephenCあなた自身の並べ替えを実装することは時間の無駄だとは確信していません... – varatis
実装の選択は、発生する操作に基づいて行う必要があります。
hereを参照してください。
http://commons.apache.org/collections/api-3.1/org/apache/commons/collections/list/TreeList.html
。明らかにあなたのデータに応じて、あるものが他のものよりも優れていることが分かります(それぞれに長所と短所があります)。
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
メソッドを使用を使用してリストのコピーを作成します。配列を並べ替える私も同じと思っていた...疑念をクリアするためにありがとう! –
100要素だけで、あなたが選んだ違いの盲目的なビットを作ることはほとんどありません。 – skaffman
@ skaffman..that理解しています...しかし、私は一般的な答えを探していました。例として100を取っただけです...私は例として百万を取ったでしょう...入力のためにありがとう –