我如何迭代整个HashMap [英] How do I iterate through an entire HashMap
本文介绍了我如何迭代整个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屋!
查看全文