Java 如何迭代映射项(Map Entry)
  • 使用Map.Entry使用迭代器实现
Iterator> it = map.entrySet().iterator();
while (it.hasNext()) {
     Map.Entry pair = it.next();
     sum += pair.getKey() + pair.getValue();
}
  • 实现使用map.entry
for (Map.Entry pair : map.entrySet()) {
     sum += pair.getKey() + pair.getValue();
}
  • 使用Map.Foreach(Java 8+)实现
map.forEach((k, v) -> sum[0] += k + v);
  • 实现使用map.keyset
for (Integer key : map.keySet()) {
     sum += key + map.get(key);
}
  • 使用map.keyset使用迭代器实现实现
Iterator it = map.keySet().iterator();
while (it.hasNext()) {
     Integer key = it.next();
     sum += key + map.get(key);
}
  • 实现使用迭代器和Map.Entry
for (Iterator> entries = map.entrySet().iterator(); entries.hasNext(); ) { 
Map.Entry entry = entries.next(); 
sum += entry.getKey() + entry.getValue(); 
}
  • 使用stream.foreach(Java 8+)实现
map.entrySet().stream().forEach(e -> sum += e.getKey() + e.getValue());
  • Stream.Foreach与Stream.Parallel(Java 8+)使用实施
map.entrySet()
     .stream()
     .parallel()
     .forEach(e -> sum += e.getKey() + e.getValue());
  • 从Apache集合使用IterableMap实现
MapIterator mit = iterableMap.mapIterator();
     while (mit.hasNext()) {
     sum += mit.next() + it.getValue();
}
  • 从Eclipse集合使用MutableMap实现
mutableMap.forEachKeyValue((key, value) -> {
    sum += key + value;
});
日期:2020-06-02 22:15:19 来源:oir作者:oir