Caused by: java.util.ConcurrentModificationException at java.util.ArrayList$Itr.checkForComodificat

本文探讨了在Java中处理集合时的一个常见问题:如何避免在增强的for循环中修改集合。通过一个具体的代码示例,解释了为什么直接在循环中添加元素会导致运行时错误,并提供了一种安全的解决方案。
if(lists.size() < 1){
    lists.add(s);	
}else{
	for (SubmitAnswer sub : lists) {
	if(sub.getExamPaperId() == s.getExamPaperId()){
		continue;
	}else{
		lists.add(s);						
		}
	}
}

原因是因为在增强的for循环中不可以改变lists的大小

帮忙分析异常栈 java.lang.reflect.InvocationTargetException: null at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_382] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_382] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_382] at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_382] at org.apache.spark.launcher.InThreadAppHandle.run(InThreadAppHandle.java:71) ~[data-audit-ficlient-1.0.0.jar!/:?] at org.apache.spark.launcher.InThreadAppHandle.start(InThreadAppHandle.java:64) ~[data-audit-ficlient-1.0.0.jar!/:?] at org.apache.spark.launcher.InThreedLauncher.startApplication(InThreedLauncher.java:60) ~[data-audit-ficlient-1.0.0.jar!/:?] at com.huawei.it.mes.ioc.dss.service.impl.SparkService.lambda$doLogicLaunch$0(SparkService.java:232) ~[data-audit-api-1.0.0.jar!/:?] at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_382] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_382] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_382] at java.lang.Thread.run(Thread.java:750) [?:1.8.0_382] Caused by: java.util.ConcurrentModificationException at java.util.HashMap$HashIterator.nextNode(HashMap.java:1469) ~[?:1.8.0_382] at java.util.HashMap$EntryIterator.next(HashMap.java:1503) ~[?:1.8.0_382] at java.util.HashMap$EntryIterator.next(HashMap.java:1501) ~[?:1.8.0_382] at java.util.HashMap.putMapEntries(HashMap.java:513) ~[?:1.8.0_382] at java.util.HashMap.<init>(HashMap.java:491) ~[?:1.8.0_382] at org.apache.hadoop.fs.FileSystemUtil.closeHistoryFs(FileSystemUtil.java:36) ~[data-audit-ficlient-1.0.0.jar!/:?] at org.apache.spark.deploy.InnerSparkSubmit.main(InnerSparkSubmit.java:108) ~[data-audit-ficlient-1.0.0.jar!/:3.1.1-hw-ei-312056]
最新发布
10-19
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值