2012-10-25 120 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