Java Hashmap Iterator 条件问题

标签 java iterator hashmap

我正在尝试循环遍历包含 session 和 ID 的 HashMap 。多个 session 可能具有相同的 ID。在每个方法调用中,我需要遍历 HashMap 并查找针对给定 ID 列出的 session 。

类包含:

private static Map<Session, String> peers = new HashMap<Session, String>    ();

方法包含:

for (Map.Entry<Session, String> entry : peers.entrySet()) {
                if(entry.getValue() == clientId){
                    Session peer = entry.getKey();
                    peer.getBasicRemote().sendObject(figure);
                   }
            }

但问题是它只运行一次。即使我试图获取 HashMap 的大小,它也给出了我所拥有的确切数量。

最佳答案

由于该值是一个字符串,您可能应该通过 equals() 进行比较,因为 == 只检查两个对象是否是同一个对象,而不检查它们是否是同一个字符串。但这只是猜测。

关于Java Hashmap Iterator 条件问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29263711/

相关文章:

scala - 文件中重复单词的迭代器

C++ unordered_map operator[ ] vs unordered_map.find() 性能

类 Java 代码(映射、函数指针)

java - Android 通过.net webservices 发送推送通知

java - 无法将文件上传到 Jersey

c++ - STL 迁移问题(VS 2003 -> 2005)

java - TreeSet 上的迭代器导致无限循环

Java - 使用ProcessBuilder目录()时系统找不到指定的文件

java - 无法从主应用程序类外部获取 application.yml 属性

java - 用逗号分隔 HashMap 输出到 .csv