我想创建一个空的LinkedList并使用ListIterator,通过始终将它们插入List的中间,将Integers添加到List中。如何最有效地做到这一点。
谢谢
答案 0 :(得分:2)
这样的东西? (这是Bruce Eckel在Java中思考的练习吗?;)) 关于效率的问题仍然是开放的......
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 );
}
}
答案 1 :(得分:1)
在索引处将元素插入到LinkedList本身就是低效的。如果必须在索引处插入,请使用ArrayList或其他东西而不是LinkedList。
但如果您需要有关使用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