Java LinkedHashMap大小不变

Java LinkedHashMap大小不变,java,dictionary,hashmap,linkedhashmap,Java,Dictionary,Hashmap,Linkedhashmap,我正在尝试。将一对放入linkedhashmap,但当我放入2对或更多时,大小永远不会改变!当我迭代它时,我会得到每一对,但顺序是随机的,但大小保持为1。当我硬编码.put(例如playerCoords.put(1,“test”))时,大小会发生变化 playerCoords = new LinkedHashMap<Integer, String>(); while (message[0] != "234124214") { message = (String[]) inp

我正在尝试。将一对放入linkedhashmap,但当我放入2对或更多时,大小永远不会改变!当我迭代它时,我会得到每一对,但顺序是随机的,但大小保持为1。当我硬编码.put(例如playerCoords.put(1,“test”))时,大小会发生变化

playerCoords = new LinkedHashMap<Integer, String>();

while (message[0] != "234124214") {
    message = (String[]) input.readObject();
    if (message[0] != null) {
        playerCoords.put(Integer.parseInt(message[0]), message[1]);
        output.writeObject(playerCoords);
        output.flush();
    }
}
playerCoords=newlinkedhashmap();
while(消息[0]!=“234124214”){
message=(字符串[])input.readObject();
如果(消息[0]!=null){
playerCoords.put(Integer.parseInt(消息[0]),消息[1]);
output.writeObject(playerCoords);
output.flush();
}
}

编辑:当我打开程序1客户端连接到服务器时,他的坐标和端口被写入linkedhashmap(例如25565,“1 1 1 2”),然后另一个连接(例如/25566,“1 2 1”),当我迭代时,我得到了这两个示例,但大小仍然是1

需要使用字符串方法equals()进行文字字符串比较,不能使用==或=

while (message[0] != "234124214")

如果创建LinkedHashMap的位置不正确,则可以解释为什么您的大小为1。您正在使用另一个大小为0的LinkedHashMap覆盖上一个LinkedHashMap,然后添加一个条目,因此只能看到大小为1的条目

playerCoords = new LinkedHashMap<Integer, String>();
playerCoords=newlinkedhashmap();

将上述代码置于消息循环之外

如何检查大小是否不变?请提供。另外,请参见System.out.println(playerCoords.size());你把代码放在哪里?请发布您描述的完整工作示例,以便我们可以运行它并查看。同时检查。好的,您可以。但它通常不会达到人们期望的效果。最好解释一下差异(身份与内容)。或者标记为重复。是的,但我不是这么要求的
playerCoords = new LinkedHashMap<Integer, String>();