Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我的迭代器正在迭代一个数组列表,并且不';t遍历列表中的最后一项_Java_Iterator - Fatal编程技术网

Java 我的迭代器正在迭代一个数组列表,并且不';t遍历列表中的最后一项

Java 我的迭代器正在迭代一个数组列表,并且不';t遍历列表中的最后一项,java,iterator,Java,Iterator,我有一个ArrayList,我声明了一个迭代器 但是,我发现由于使用了iter.hasNext()while循环,并且数组列表中的最后一项没有在while循环中工作 有没有办法确保我解析列表中的“所有”项 theRnsList包含Rns类型的对象列表。其中一个方法是getRnsPubDate方法,该方法返回格式为'YYYY-mm-dd' ArrayList<Rns> theRnsList = new ArrayList<Rns>(); Iterator<Rns>

我有一个ArrayList,我声明了一个迭代器

但是,我发现由于使用了
iter.hasNext()
while循环,并且数组列表中的最后一项没有在while循环中工作

有没有办法确保我解析列表中的“所有”项

theRnsList
包含
Rns
类型的对象列表。其中一个方法是
getRnsPubDate
方法,该方法返回格式为
'YYYY-mm-dd'

ArrayList<Rns> theRnsList = new ArrayList<Rns>();
Iterator<Rns> iter = theRnsList.iterator();

String today = new SimpleDateFormat("yyyy-MM-dd")
    .format(Calendar.getInstance().getTime());

while(iter.hasNext()) {

    if (iter.next().getRnsPubDate().toString().contains(today)) {
        iter.remove();
    }
}
ArrayList theRnsList=new ArrayList();
迭代器iter=theRnsList.Iterator();
String today=新的SimpleDataFormat(“yyyy-MM-dd”)
.format(Calendar.getInstance().getTime());
while(iter.hasNext()){
if(iter.next().getRnsPubDate().toString().contains(今天)){
iter.remove();
}
}

您需要发布所有代码,但据我所知,您正在以正确的方式迭代所有元素,只需使用
iter.next()
即可获得元素。此代码看起来不错。你在圈内做什么?也许你有错误?@whoAmI很可能是这样的,我正在检查代码以防万一。你的代码在我看来仍然很好。这正是我们要求人们发布的原因,因为它提供了一小段代码来演示问题。请尝试创建一个SSCCE并将其张贴在上面。@Duncan感谢您的帮助。我将在将来使用这些工具,并提供尽可能多的信息。