如何使用ListIterator在Linked List中间插入元素

时间:2012-01-26 18:20:31

标签: java iterator linked-list

我想创建一个空的LinkedList并使用ListIterator,通过始终将它们插入List的中间,将Integers添加到List中。如何最有效地做到这一点。

谢谢

2 个答案:

答案 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