如何高效地Iterate through a Map?

红太狼 2022-01-05 10:11 308阅读 0赞

1.使用 iteratorMap.Entry

  1. long i = 0;
  2. Iterator<Map.Entry<Integer, Integer>> it = map.entrySet().iterator();
  3. while (it.hasNext()) {
  4. Map.Entry<Integer, Integer> pair = it.next();
  5. i += pair.getKey() + pair.getValue();
  6. }

2.使用foreachMap.Entry

  1. long i = 0;
  2. for (Map.Entry<Integer, Integer> pair : map.entrySet()) {
  3. i += pair.getKey() + pair.getValue();
  4. }

3.使用forEach from Java 8

  1. final long[] i = {0};
  2. map.forEach((k, v) -> i[0] += k + v);

4.使用keySetforeach

  1. long i = 0;
  2. for (Integer key : map.keySet()) {
  3. i += key + map.get(key);
  4. }

5.使用keySetiterator

  1. long i = 0;
  2. Iterator<Integer> itr2 = map.keySet().iterator();
  3. while (itr2.hasNext()) {
  4. Integer key = itr2.next();
  5. i += key + map.get(key);
  6. }

6.使用forMap.Entry

  1. long i = 0;
  2. for (Iterator<Map.Entry<Integer, Integer>> entries = map.entrySet().iterator(); entries.hasNext(); ) {
  3. Map.Entry<Integer, Integer> entry = entries.next();
  4. i += entry.getKey() + entry.getValue();
  5. }

7.使用 the Java 8 Stream API

  1. final long[] i = {0};
  2. map.entrySet().stream().forEach(e -> i[0] += e.getKey() + e.getValue());

8.使用 the Java 8 Stream API parallel

  1. final long[] i = {0};
  2. map.entrySet().stream().parallel().forEach(e -> i[0] += e.getKey() + e.getValue());

9.使用 IterableMap of Apache Collections

  1. long i = 0;
  2. MapIterator<Integer, Integer> it = iterableMap.mapIterator();
  3. while (it.hasNext()) {
  4. i += it.next() + it.getValue();
  5. }

10.使用 MutableMap of Eclipse (CS) collections

  1. final long[] i = {0};
  2. mutableMap.forEachKeyValue((key, value) -> {
  3. i[0] += key + value;
  4. });

发表评论

表情:
评论列表 (有 0 条评论,308人围观)

还没有评论,来说两句吧...

相关阅读

    相关 如何高效读取大文件

    如何高效地读取大文件 在一些数据处理领域,我们经常需要处理非常大的文本文件,这些文件往往有几个 GB 或更大的体积。如果直接使用 Python 的内置读写函数,可能会因为内存

    相关 如何高效问问题

    高中的时候,班主任讲过一个故事,有个人想找校长办事,就站在学校门口,碰到人就问,你是校长吗?来的人说不是,问了一个上午,也没问到校长。 这个故事很搞笑,却是生活中经常发生的。

    相关 如何高效学习

    [如何高效地学习][Link 1] > 相信大多数人都有过这样的感受,整天都在忙碌,却总感觉事情永远干不完。更甚者,一段时间之后,都不知道自己在忙碌什么,脑子一片空白。 用