Rah*_*hvi 0 java list listiterator
我使用 ListIterator 在列表中进行迭代,因为如果满足某些条件,我想在运行时添加一些元素。
但是添加到列表中的新元素永远不会包含在迭代器中
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class Example {
public static void main(String[] s)
{
List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(5);
list.add(6);
ListIterator<Integer> listIterator = list.listIterator();
while(listIterator.hasNext())
{
int i = listIterator.next();
System.out.println("List Element: " + i + " | List size: " + list.size());
if(i==1)
{
//Adding '3' to list
listIterator.add(3);
System.out.println("Added Element: 3");
}
if(i==2)
{
//Adding '4' to list
listIterator.add(4);
System.out.println("Added Element: 4");
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
下面是输出
List Element: 1 | List size: 4
Added Element: 3
List Element: 2 | List size: 5
Added Element: 4
List Element: 5 | List size: 6
List Element: 6 | List size: 6
Run Code Online (Sandbox Code Playgroud)
我需要利用当前 listIterator 中最近添加的元素,但无法做到这一点。
是否有其他方法可以在同一迭代会话中迭代新元素?