如何在 Java 中遍历 Map 的每个元素

Mohammad Irfan 2023年10月12日
  1. 在 Java 中如何遍历 Map 元素
  2. 在 Java 中使用 for 循环遍历 Map 元素
  3. 在 Java 中使用 foreach 遍历 Map 元素
  4. 使用 Java 中的 EntryIterator 遍历 Map 元素
  5. 使用 Java 中的 for-eachkeySet() 遍历 Map 元素
  6. 在 Java 中使用 while 循环遍历 Map 元素
  7. 使用 Java 中的 StreamforEachMap 元素进行遍历
  8. 在 Java 中使用 forEachlambda 遍历 Map 元素
如何在 Java 中遍历 Map 的每个元素

本教程介绍了如何对 map 的各个元素进行遍历,并列举了一些示例代码来理解。

在 Java 中如何遍历 Map 元素

Map 是一个接口,用来收集键值对形式的数据。Java 提供了几种遍历 map 元素的方法,如 for 循环、for-each 循环、while 循环、forEach() 方法等。我们来看看例子。

在 Java 中使用 for 循环遍历 Map 元素

我们使用简单的 for 循环来遍历 Map 元素。在这里,在循环中使用 iterator() 方法来获取元素。

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

public class SimpleTesting {
  public static void main(String[] args) {
    Map<Integer, String> map = new HashMap<>();
    map.put(10, "Ten");
    map.put(100, "Hundred");
    map.put(1000, "Thousand");
    for (Iterator<Map.Entry<Integer, String>> entries = map.entrySet().iterator();
         entries.hasNext();) {
      Map.Entry<Integer, String> entry = entries.next();
      System.out.println(entry.getKey() + " : " + entry.getValue());
    }
  }
}

输出:

100 : Hundred
1000 : Thousand
10 : Ten

在 Java 中使用 foreach 遍历 Map 元素

我们使用 for-each 循环和 entrySet() 方法来遍历 Map 的每个条目。entrySet() 返回 Map 的元素集合。

import java.util.HashMap;
import java.util.Map;

public class SimpleTesting {
  public static void main(String[] args) {
    Map<Integer, String> map = new HashMap<>();
    map.put(10, "Ten");
    map.put(100, "Hundred");
    map.put(1000, "Thousand");
    for (Map.Entry<Integer, String> entry : map.entrySet()) {
      System.out.println(entry.getKey() + ":" + entry.getValue());
    }
  }
}

输出:

100 : Hundred
1000 : Thousand
10 : Ten

使用 Java 中的 EntryIterator 遍历 Map 元素

iterator() 方法返回一个 Iterator 来遍历元素,而 Entry 用于收集 Map 的元素。

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

public class SimpleTesting {
  public static void main(String[] args) {
    Map<Integer, String> map = new HashMap<>();
    map.put(10, "Ten");
    map.put(100, "Hundred");
    map.put(1000, "Thousand");
    Iterator<Map.Entry<Integer, String>> entries = map.entrySet().iterator();
    while (entries.hasNext()) {
      Map.Entry<Integer, String> entry = entries.next();
      System.out.println(entry.getKey() + ":" + entry.getValue());
    }
  }
}

输出:

100 : Hundred
1000 : Thousand
10 : Ten

使用 Java 中的 for-eachkeySet() 遍历 Map 元素

keySet() 方法用于收集 Map 的键集,进一步使用 for-each 循环进行遍历。

import java.util.HashMap;
import java.util.Map;

public class SimpleTesting {
  public static void main(String[] args) {
    Map<Integer, String> map = new HashMap<>();
    map.put(10, "Ten");
    map.put(100, "Hundred");
    map.put(1000, "Thousand");
    for (Integer key : map.keySet()) {
      System.out.println(key + " : " + map.get(key));
    }
  }
}

输出:

100 : Hundred
1000 : Thousand
10 : Ten

在 Java 中使用 while 循环遍历 Map 元素

在这里,我们使用 iterator() 方法来获取键的遍历器,然后使用 while 循环来遍历这些键。为了获得键的值,我们使用 get() 方法。

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

public class SimpleTesting {
  public static void main(String[] args) {
    Map<Integer, String> map = new HashMap<>();
    map.put(10, "Ten");
    map.put(100, "Hundred");
    map.put(1000, "Thousand");
    Iterator<Integer> itr = map.keySet().iterator();
    while (itr.hasNext()) {
      Integer key = itr.next();
      System.out.println(key + " : " + map.get(key));
    }
  }
}

输出:

100 : Hundred
1000 : Thousand
10 : Ten

使用 Java 中的 StreamforEachMap 元素进行遍历

我们可以使用流来遍历元素。在这里,我们使用 entrySet() 来收集 Map 元素,并通过流的 forEach() 方法进一步遍历。

import java.util.HashMap;
import java.util.Map;

public class SimpleTesting {
  public static void main(String[] args) {
    Map<Integer, String> map = new HashMap<>();
    map.put(10, "Ten");
    map.put(100, "Hundred");
    map.put(1000, "Thousand");
    map.entrySet().stream().forEach(System.out::println);
  }
}

输出:

100=Hundred
1000=Thousand
10=Ten

在 Java 中使用 forEachlambda 遍历 Map 元素

我们也可以使用 lambda 表达式来遍历 Map 元素。这里,我们在 forEach() 方法中使用了 lambda 表达式。

import java.util.HashMap;
import java.util.Map;

public class SimpleTesting {
  public static void main(String[] args) {
    Map<Integer, String> map = new HashMap<>();
    map.put(10, "Ten");
    map.put(100, "Hundred");
    map.put(1000, "Thousand");
    map.forEach((key, value) -> System.out.println(key + " : " + value));
  }
}

输出:

100 : Hundred
1000 : Thousand
10 : Ten

相关文章 - Java Map

相关文章 - Java Collection