【发布时间】:2012-10-16 04:43:21
【问题描述】:
如果我需要使用的方法是这样的……
public void printMessages(Message mm) {
}
如何遍历看起来像这样的整个 HashMap...
HashMap<String, ArrayList<User>> hM = new HashMap<>();
向每个用户发送消息mm生成的toString消息?我被困住了,谢谢你的建议。
【问题讨论】:
如果我需要使用的方法是这样的……
public void printMessages(Message mm) {
}
如何遍历看起来像这样的整个 HashMap...
HashMap<String, ArrayList<User>> hM = new HashMap<>();
向每个用户发送消息mm生成的toString消息?我被困住了,谢谢你的建议。
【问题讨论】:
要遍历地图,请在 entrySet() 上使用 foreach
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();
}
但是,在您的情况下,我认为您可能实际上想要这个:
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
}
【讨论】: