我如何迭代整个HashMap [英] How do I iterate through an entire HashMap

查看:153
本文介绍了我如何迭代整个HashMap的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  public void printMessages(Message mm){

$ / code>

如何迭代整个看起来像这样的HashMap ...

  HashMap< String,ArrayList< User>> hM = new HashMap<>(); 

向每个用户发送由消息生成的toString消息mm?

解决方案

要迭代地图,请在 entrySet()

 映射< K,V>地图; (Map.Entry< K,V>条目:map.entrySet()){
//对键/值
做某事K key = entry.getKey();
V值= entry.getValue();
}



然而,就你而言,我认为你可能实际上想要这样:

 字符串消息; 
地图< String,List< User>> HM;

列表<用户> usersForMessage = hM.get(message);
for(User user:usersForMessage){
//发送message给user
user.sendMessage(message); //例如
}


If the method I need to use looks like this...

public void printMessages(Message mm) {
}

How do I iterate through the entire HashMap that looks like this...

HashMap<String, ArrayList<User>> hM = new HashMap<>();

to send each User the toString message generated by the Message mm? I'm stuck thanks for the advice.

解决方案

To iterate over a map, use a foreach on the entrySet()

Map<K, V> map;
for (Map.Entry<K, V> entry : map.entrySet()) {
    // do something with the key/value
    K key = entry.getKey();
    V value = entry.getValue();
}


However, in your case I think you may actually want this:

String message;
Map<String, List<User>> hM;

List<User> usersForMessage = hM.get(message);
for (User user : usersForMessage) {
    // send "message" to "user"
    user.sendMessage(message);  // for example
}

这篇关于我如何迭代整个HashMap的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆