高分请教java.util.ConcurrentModificationException问题

pang040328 pang040328 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
错误如下:
Exception in thread "main" java.util.ConcurrentModificationException
at java.util.LinkedList$ListItr.checkForComodification(Unknown Source)
at java.util.LinkedList$ListItr.next(Unknown Source)
at simulate.proccess(simulate.java:197)
at simulate.adjust(simulate.java:90)
at simulate.main(simulate.java:69)
关键代码如下:
队列的定义:
public static Queue<Patient> waiWaitList = new LinkedList<Patient>();
public static Queue<Patient> bai1WaitList = new LinkedList<Patient>();
public static Queue<Patient> bai2WaitList = new LinkedList<Patient>();


public static void proccess(Queue<Patient> p ,int currentTime,int leftOfEmptyBeds,int totalTime)
{
int minSeeTime = minSeeTime(p); //求出数组中最小门诊时间
//int numOfMinSeeTime = numOfPatient(p, minSeeTime); //算出最小门诊时间的个数
/*if(numOfMinSeeTime < leftOfEmptyBeds) //外伤人数小于剩余病床数
{*/
197行: for (Patient patient : p)
/* for(Iterator it = p.iterator();it.hasNext();)*/
{
/* Patient patient = (Patient)it.next();*/
if (patient.getSeeTime() == minSeeTime)
{ //在数组中找到最小门诊时间的对象
for (int i = 0; i < bed.length; i++)
{ //遍历病床数组,寻找空床,若出现空床,则将病人填入病床数组,并从等待队列中将该病人删除。
if (bed[i].isEmpty() == true)
{
patient.setInTime(currentTime);//入院时间
patient.setWaitTime(currentTime-patient.getSeeTime());
patient.setOutTime(currentTime+totalTime);//外伤总住院天数为8天
bed[i].setPatients(patient);
//it.remove();
p.poll();
//p.remove();
leftOfEmptyBeds--; //剩余病床数减少
}
}
}
}
//}
}


请高手帮忙解答一下,很急啊
...全文

相关推荐

java.util.ConcurrentModificationException 解决方法

java.util.ConcurrentModificationException 解决方法 在使用iterator.hasNext()操作迭代器的时候,如果此时迭代的对象发生改变,比如插入了新数据,或者有数据被删除。 则使用会报以下异常: Java.util.ConcurrentModificationException at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793) at java.util.HashMap$KeyIterator.next(HashMap.java:828) 例如以下程序(转

weixin_38723192

Java原生实现MUD服务器:并发与网络编程实战指南

MUD(多人文字冒险游戏)是理解后端核心概念的理想教学载体,其本质是基于文本协议的状态机系统,天然涵盖网络通信、并发控制、状态一致性与生命周期管理等基础工程问题。通过纯JDK原生API(java.net、java.util.concurrent、java.io)构建服务端,可深入掌握Socket阻塞/非阻塞模型差异、NIO多路复用原理、ConcurrentHashMap分段锁机制及AtomicInteger原子更新价值。该实践规避了Spring/Netty等框架封装,直面粘包处理、连接超时清理、命令解析歧义

银星皓月

Java SE 实现多人在线 MUD 系统:零框架网络编程实战

MUD(多用户地牢)是理解网络通信、并发控制与状态同步的经典教学模型。其核心原理基于 TCP 连接管理、线程隔离处理与内存级共享状态,技术价值在于用最基础的 Java SE 类库(如 ServerSocket、synchronized、HashMap)实现强一致的实时交互,规避了 Spring Boot 或 Netty 的抽象复杂度。典型应用场景包括高校课程设计、Java 网络编程入门实训及轻量级服务端原型开发。本文以吉大高分 MUD 项目为载体,详解纯 Java SE 构建可调试、可演示的终端交互系统,覆

Eleny君君

出现java.util.ConcurrentModificationException 问题及解决办法

主要介绍了出现java.util.ConcurrentModificationException 问题及解决办法的相关资料,需要的朋友可以参考下

weixin_38720997

java 集合并发操作出现的异常ConcurrentModificationException

Map在遍历时候通常 现获得其键值的集合Set,然后用迭代器Iterator来对Map进行遍历。

weixin_38746293
评论 8
收藏 已收藏
分享
返回顶部
pang040328
Java 51,407 成员 86,132 内容