//此代码不起作用。我不知道我做错了什么。它是一个双向链表,提示是使用列表迭代器。
import java.util.*;
public class ExtLinkedList<E> extends LinkedList<E>
{
public ExtLinkedList<E> oddItemsList ()
{
ExtLinkedList<E> oddList = new ExtLinkedList<E>();
ListIterator<E> itr = oddList.listIterator();
for(int i = 0; itr.hasNext(); i++)
{
//E element = itr.next();
if(i % 2 == 1)
{
//System.out.print(element);
itr.remove();
itr.next();
}
i++;
}
return oddList;
}
}
答案 0 :(得分:0)
我不是真正的Java开发人员,但这应该会更好:
import java.util.*;
public class ExtLinkedList<E> extends LinkedList<E>
{
public ExtLinkedList<E> oddItemsList ()
{
ExtLinkedList<E> oddList = new ExtLinkedList<E>();
//Get the iterator of the current list instead of the new empty list.
//Otherwise you will iterate over nothing.
ListIterator<E> itr = listIterator();
for(int i = 0; itr.hasNext(); i++)
{
E element = itr.next();
if(i % 2 == 1)
{
//System.out.print(element);
oddList.add(element);
}
}
return oddList;
}
}
修改: