2012-10-25 150 views
0

如果我需要使用看起来像这样的方法......如何通过整个的HashMap迭代

public void printMessages(Message mm) { 
} 

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

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

向每个用户发送消息生成的toString消息mm?我坚持感谢您的建议。

回答

1

遍历一个地图,在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(); 
} 


使用foreach然而,在你的情况我想你可能实际上想这样的:

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 
} 
+0

@ashes它肯定看起来这样 – Bohemian