hashmap遍历和迭代器的区别

avatar
作者
猴君
阅读量:11

在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中的元素,不需要显式地使用迭代器。两种方式在功能上是等效的,选择使用哪种方式取决于个人偏好和代码风格。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!