Java 编程
迭代我的地图的问题
Iterator<Player> iterator = plugin.inreview.keySet().iterator();
while (iterator.hasNext()) {
Player key = (Player) iterator.next();
chat.getRecipients().remove(key);
}
这抛出:
java.util.NoSuchElementException
at java.util.HashMap$HashIterator.nextEntry(Unknown Source)
at java.util.HashMap$EntryIterator.next(Unknown Source)
at java.util.HashMap$EntryIterator.next(Unknown Source)
关于为什么会发生这种情况的任何想法?发生这种情况时,地图中有一个键(具有一个值)。
此外,它直到最近才正常工作,而且我在我的 Java 文件上做了很多工作,以至于我无法找出导致这种情况发生的原因。迭代这张地图时,我不能做任何 while 循环,这会使事情变得复杂!
笔记:
Chat.getRecipients()
不一样plugin.inreview
- 以前工作得很好
- 它是一个
HashBiMap
请给我您可能有的任何提示和想法。
额外细节:
java.util.NoSuchElementException
at java.util.HashMap$HashIterator.nextEntry(Unknown Source)
at java.util.HashMap$EntryIterator.next(Unknown Source)
at java.util.HashMap$EntryIterator.next(Unknown Source)
at com.google.common.collect.AbstractBiMap$EntrySet$1.next(AbstractBiMap.java:314)
at com.google.common.collect.AbstractBiMap$EntrySet$1.next(AbstractBiMap.java:306)
at me.geekplaya.Judge.JudgeQuit.onPlayerQuit(JudgeQuit.java:25)
at org.bukkit.plugin.java.JavaPluginLoader$2.execute(JavaPluginLoader.java:251)
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:339)
at net.minecraft.server.ServerConfigurationManager.disconnect(ServerConfigurationManager.java:159)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:650)
at net.minecraft.server.NetworkManager.b(NetworkManager.java:231)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:92)
at net.minecraft.server.NetworkListenThread.a(SourceFile:108)
at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:471)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:374)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)