hashmap

hashmap遍历和迭代器的区别

小樊
82
2024-07-11 18:51:28
栏目: 编程语言

在Java中,HashMap是一个键值对映射的集合,可以通过迭代器或者foreach循环来遍历HashMap中的元素。迭代器和foreach循环的主要区别在于实现方式和语法。

  1. 使用迭代器遍历HashMap:
HashMap<Integer, String> map = new HashMap<>();
map.put(1, "apple");
map.put(2, "banana");
map.put(3, "orange");

Iterator<Map.Entry<Integer, String>> iterator = map.entrySet().iterator();
while(iterator.hasNext()){
    Map.Entry<Integer, String> entry = iterator.next();
    System.out.println("key: " + entry.getKey() + " value: " + entry.getValue());
}
  1. 使用foreach循环遍历HashMap:
HashMap<Integer, String> map = new HashMap<>();
map.put(1, "apple");
map.put(2, "banana");
map.put(3, "orange");

for(Map.Entry<Integer, String> entry : map.entrySet()){
    System.out.println("key: " + entry.getKey() + " value: " + entry.getValue());
}

迭代器是一种更传统的遍历方式,需要显式地调用hasNext()next()方法来访问下一个元素。foreach循环是一种更简洁的语法,可以直接遍历HashMap中的元素,不需要显式地使用迭代器。两种方式在功能上是等效的,选择使用哪种方式取决于个人偏好和代码风格。

0
看了该问题的人还看了