gpt4 book ai didi

Java-不从 HashMap 中删除

转载 作者:行者123 更新时间:2023-11-29 06:20:02 25 4
gpt4 key购买 nike

好的,我有了这个 HashMap

private Map<String, Player> players = new HashMap<String, Player>();

这是我用来删除的内容:

      public void destroy() {

players.remove("Red");
os.println(me.getUsername() + "|1|has left|yes|chat");

}

我说红色是因为它现在只是一个测试。我稍后会得到最终正确的。无论如何...

我用这个来检查。

  if (e.getKeyCode() == KeyEvent.VK_Q) {
for (Player playert : players.values()) {
c.append("\n < "+playert.getUsername() + " > ");
}
}

当我一个人时.. 我按 Q 得到:

< Dan >

然后我的 friend Red 登录,我按 Q...我得到:

< Dan >
< Red >

然后他离开了,我按 Q,我得到:

< Dan >
< Red >

那么..为什么这不起作用?

此外,这是当玩家登录游戏(启动小程序)时在 init() 中调用的代码

 public void playerLogin() throws IOException {

Random roll = new Random();
int newNo = roll.nextInt(200);
// me.getUsername() = "Guest #" + roll.nextInt(110);
// String me.getUsername() = getParameter("name");

me = new Player();
me.setUsername(getParameter("name"));
me.setPlayerImage(ImageIO.read(getClass().getResource("me.gif")));
me.setX(256);
me.setY(256);
me.setMap(1);
me.setCommand("move");
players.put(me.getUsername(), me);

repaint();

System.out.println(me.getUsername() + " was added. player: " + me);
os.println(me.getUsername() + "|" + me.getX() + "|" + me.getY() + "|"
+ me.getMap() + "|" + me.getCommand());

attack = 4;
defense = 5;
gold = 542;
level = 1;
exp = 53;

}

最佳答案

换句话说,你的 Applet#destroy()在您期望它被调用的那一刻没有调用方法?你应该使用 Applet#stop() . destroy() 仅在相关对象符合 GC 条件和/或关闭整个浏览器实例(因此不仅是当前页面/选项卡)时调用。只要浏览器实例运行,JVM 就可以保持运行。

关于Java-不从 HashMap 中删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3516294/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com