Iterator迭代器使用造成java.util.NoSuchElementException异常

使用Iterator迭代器出现错误java.util.NoSuchElementException

错误写法:

Iterator<Map<String, Object>> it = list.iterator();

while(it.hasNext()){

if(it.next().get("listSrc") != null && "C".equals(it.next().get("listSrc").toString())){

it.remove();

}

}

错误原因:循环中不能用两次it.next()方法。

解决方法:it.next()取出的数据使用新的对象进行接收后再使用

正确写法:

Iterator<Map<String, Object>> it = list.iterator();

while(it.hasNext()){

Map<String, Object> iterator = it.next();  //使用新对象进行接收

if(iterator .get("listSrc") != null && "C".equals(iterator .get("listSrc").toString())){

it.remove();

}

}

时间: 2024-12-25 21:04:26

Iterator迭代器使用造成java.util.NoSuchElementException异常的相关文章

Java学习笔记之Scanner报错java.util.NoSuchElementException

转载自:IT学习者-螃蟹 一个方法A使用了Scanner,在里面把它关闭了.然后又在方法B里调用方法A之后就不能再用Scanner了Scanner in = new Scanner(System.in); 测试代码如下: import java.util.Scanner; /** * * @author IT学习者-螃蟹 * * */ public class ItxxzScanner { //第一次输入 public void FistTime (){ Scanner sc = new Sca

java.util.ConcurrentModificationException异常分析

Java在操作ArrayList.HashMap.TreeMap等容器类时,遇到了java.util.ConcurrentModificationException异常.以ArrayList为例,如下面的代码片段: [java] view plaincopy import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.concurrent.CopyOnWriteArr

关于java.util.NoSuchElementException错误的一则例子

转载自http://blog.csdn.net/ppact/article/details/1688445 写了一个从A文件复制到B文件的例子,其中要求去掉重复的行. 于是想到了Set,这本来是很容易的事情,结果在向外写数据时抱错 java.util.NoSuchElementException 网络上反复查证也没有相关的内容,于是自己慢慢的找,终于找到了.下面写出这个错误的例子及分析,希望能及时的帮助和我同样犯了小错误的菜鸟! import java.io.BufferedReader;imp

Android 关于java.util.NoSuchElementException错误

写了一个从A文件复制到B文件的例子,其中要求去掉重复的行. 于是想到了Set,这本来是很容易的事情,结果在向外写数据时抱错 Java.util.NoSuchElementException 网络上反复查证也没有相关的内容,于是自己慢慢的找,终于找到了.下面写出这个错误的例子及分析,希望能及时的帮助和我同样犯了小错误的菜鸟! import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; impo

java.util.ConcurrentModificationException异常原因及解决方法

在java语言中,ArrayList是一个很常用的类,在编程中经常要对ArrayList进行删除操作,在使用remove方法对ArrayList进行删除操作时,报java.util.ConcurrentModificationException异常,下面探讨一下该异常的原因以及解决办法. 1 import java.util.ArrayList; 2 import java.util.List; 3 4 public class Test { 5 6 public static void mai

java.util.NoSuchElementException解决办法

最近在做一个项目,项目运行时,总是提示:java.util.NoSuchElementException.错误没有具体到code的行号,所以不容易debug.今天总算找到了root cause,so share it: 报错信息: [java] Exception in thread "main" java.util.NoSuchElementException     [java]         at java.util.AbstractList$Itr.next(Abstract

日常问题记录-- java.util.NoSuchElementException

问题: 调用list时报错. type Exception report message java.util.NoSuchElementException description The server encountered an internal error that prevented it from fulfilling this request. exception javax.servlet.ServletException: java.util.NoSuchElementExcept

解决:Redis:java.util.NoSuchElementException: Unable to validate object at

在Java使用Redis的过程中遇见了一个问题, redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool at … Caused by: java.util.NoSuchElementException: Unable to validate object at … 这个问题是说拿不到Redis的链接,因为validate通不过.登录一个客户端,手动ping一下

android细节之java.util.ConcurrentModificationException异常

今天在做android项目的时候,遇到了这个异常,好吧,其实平常遇到最多的异常是IllegalstateException,都是跟我们硬件相连的SDK抛出来的,把我折磨的欲生欲死啊.扯远了.说回到今天的这个异常,java.util.ConcurrentModificationException异常,一开始我愣了一下,貌似从来没遇到过这个,然后果断百度大神,这才发现: 原因是你遍历该集合时,对该集合进行了删除元素的操作导致的,如果你有删除元素的必要,建议赋值到另一个集合,然后对他进行删除操作. 偶