java Map的遍历方式有哪些

avatar
作者
猴君
阅读量:2

Java中的Map接口有多种遍历方式,主要有以下几种方式:

  1. 使用EntrySet遍历:通过Map的entrySet()方法获取到Map.Entry对象的集合,然后通过迭代器或者foreach循环遍历集合,再通过Map.Entry对象的getKey()和getValue()方法获取键值对的键和值。
Map<K, V> map = new HashMap<>(); // 添加键值对 Set<Map.Entry<K, V>> entrySet = map.entrySet(); for (Map.Entry<K, V> entry : entrySet) { K key = entry.getKey(); V value = entry.getValue(); // 处理键值对的逻辑 } 
  1. 使用KeySet遍历:通过Map的keySet()方法获取到键的集合,然后通过迭代器或者foreach循环遍历集合,再通过键获取对应的值。
Map<K, V> map = new HashMap<>(); // 添加键值对 Set<K> keySet = map.keySet(); for (K key : keySet) { V value = map.get(key); // 处理键值对的逻辑 } 
  1. 使用Values遍历:通过Map的values()方法获取到值的集合,然后通过迭代器或者foreach循环遍历集合。
Map<K, V> map = new HashMap<>(); // 添加键值对 Collection<V> values = map.values(); for (V value : values) { // 处理值的逻辑 } 
  1. 使用Lambda表达式遍历(JDK 8及以上):通过Map的forEach()方法和Lambda表达式遍历键值对。
Map<K, V> map = new HashMap<>(); // 添加键值对 map.forEach((key, value) -> { // 处理键值对的逻辑 }); 

需要注意的是,以上遍历方式中,EntrySet遍历方式相对来说更加高效,因为它只需要遍历一次集合,而KeySet和Values遍历方式需要遍历两次集合。另外,Lambda表达式遍历方式需要JDK 8及以上的版本才能使用。

广告一刻

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