class Test{
public static void main(String[] args) {
List books=new ArrayList();
books.add(new String("java"));
books.add(new String("android"));
ListIterator lit=books.listIterator();
while(lit.hasNext())
{
System.out.println(lit.next());
lit.add("-----");
}
}
}
按道理应该是java,-----,android,-----,-----这样一直循环下去。
但lit似乎直接忽略了add()的操作,我知道"-----"肯定存储在books中了,但lit为何迭代不到呢?
好像只有在下一次迭代才可以,求解!!!
------解决方案--------------------
首先楼主代码写错了。
其次以后发代码放在发代码的地方:
例如
- Java code
public static void main(String[] args) { List books = new ArrayList(); books.add(new String("java")); books.add(new String("android")); ListIterator ite = books.listIterator(); while(ite.hasNext()){ System.out.println(ite.next()); ite.add("----------"); } while(ite.hasNext()){ System.out.println(ite.next()); } }
------解决方案--------------------
public static void main(String[] args) {
List books = new ArrayList();
books.add(new String("java"));
books.add(new String("android"));
int i = 1;
ListIterator lit = books.listIterator();
while (lit.hasNext()) {
System.out.println(lit.next());
lit.add("-----");
++i;
lit = books.listIterator(i);
}
}
这样不久达到你的效果了
------解决方案--------------------
lit.add("---------");
要加个计数器 也就是对这个进行控制 不然不但的加------------又不但的输出 死循环