java - 如何遍历 Java 链接 HashMap ?

标签 java hashmap loops

我搜索了这个问题并找到了使用 Map.Entry 的答案,例如 here ,但是 getValue() 方法返回了一个 Object 对象,而不是 map 中的对象类型。就像在下面的示例中一样,我需要它返回一个 User 对象,以便我可以使用该类中的方法。但是,当我尝试使用下面的 while 循环时,它永远不会离开循环。我想知道执行此操作的正确方法。

Map<String, User> users = new LinkedHashMap<String, User>();
users.put(name, user);

while(users.values().iterator().hasNext()){

   currentUser = users.values().iterator().next();
   currentUser.someMethod();
}

最佳答案

I was wondering the correct way to do this.

您应该使用Map.Entry 类型;您只需要提供类型参数即可与泛型一起使用:

for (Map.Entry<String,User> entry : users.entrySet()) {
    // entry.getValue() is of type User now
}

关于java - 如何遍历 Java 链接 HashMap ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13735574/

相关文章:

javascript - 将图像附加到 dhtmlx 窗口

java - Firebase 数据库 DataSnapshot 不工作

java - 提高调用其他 API 的 Rest Webservice 性能的方法

java - 当尝试获取其中存在的对象时,Hashmap 给出 Null

java - 文件到 HashMap

java - 如何方便 Netbeans Designer 加载使用 hashmap 进行枚举反向查找的 JPanel?

java - 在循环内运行一次进程,而无需重复该进程,直到被告知

java - 无法打开从 Eclipse 中的基类添加到接口(interface)的方法的实现

java - 我正在为以 Java/Python 为中心的组织寻找图形数据库

python - 就地修改列表中的字符串?