空のLinkedListを作成し、ListIteratorを使用して、リストの中央に常にそれらを挿入して、リストに整数を追加します。それを最も効率的に行う方法。ListIteratorを使用してLinkedListの途中に要素を挿入する方法
は
空のLinkedListを作成し、ListIteratorを使用して、リストの中央に常にそれらを挿入して、リストに整数を追加します。それを最も効率的に行う方法。ListIteratorを使用してLinkedListの途中に要素を挿入する方法
は
はインデックスでのLinkedListに要素を挿入ありがとう本質的に非効率的です。インデックスに挿入する必要がある場合は、LinkedListの代わりにArrayListなどを使用します。
しかし、あなたはListIteratorsの使用に関する情報が必要な場合は、ここを見て:
http://www.java-examples.com/iterate-through-elements-java-linkedlist-using-listiterator-example
さもないと、あなただけの詳細情報については
myLL.add(i,val)
をやって検討するかもしれないでは、Java APIを参照してください。
http://docs.oracle.com/javase/6/docs/api/java/util/LinkedList.html
このような何か? (これは、Javaでのブルース・Eckel氏の思考からexcersizeである;?)) effeciencyについての質問がとにかく開いたままに...実際に
public class Excersize14 {
public static void main(String[] args) {
LinkedList<Integer> list = new LinkedList<Integer>() ;
getIterator(list).add(10);
getIterator(list).add(20);
getIterator(list).add(30);
getIterator(list).add(40);
getIterator(list).add(50);
getIterator(list).add(60);
System.out.println(list);
}
private static ListIterator<Integer> getIterator(LinkedList<Integer> list) {
return list.listIterator(list.size()/2);
}
}
、ArrayListのとLinkedListの両方が、この操作に関しては自分の非効率性を持っています。リンクされたリストのO(n)はトラバースされますが、ArrayListの挿入はO(n)です。 – jtahlborn
よろしくお願いします。私はちょうどそれはOPが尋ねたものなので、しかし、挿入については答えていた。 – varatis
ListIteratorを使用する場合、LinkedListに要素を挿入することは効率的ではありません。実際にはO(1)でなければなりません。 –