Java基础——Map集合遍历方式

(1)方式一:键找值

  • 先获取Map集合的全部键的Set集合。
  • 遍历键的Set集合,然后通过键提取对应值。

涉及API:

方法名称说明
Set keySet()获取所有键的集合
V get(Object key)根据键获取值

(2)方式二:键值对

  • 先把Map集合转换成Set集合,Set集合中每个元素都是键值对实现类型了。
  • 遍历Set集合,然后提取键以及提取值。

涉及API:

方法名称说明
Set> entrySet()获取所有键值对对象的集合
K getKey()获取键
V getValue()获取值

(3)方式三:lambda表达式

  • 得益于JDK8开始的新技术Lambda表达式,提供了一种更简单,更直接的遍历集合的方式。

涉及API:

方法名称说明
default void forEach(BiConsumeraction)结合lambda遍历Map集合

流程:

maps.forEach((k,v) -> {

        System.out.println(k + ":" + v);

});

(4)三种遍历方式代码如下:

import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import java.util.function.BiConsumer;/*** Map集合遍历方式*/
public class MapDemo {public static void main(String[] args) {Map maps = new HashMap<>();//无序,不重复,无索引maps.put("大大",23);maps.put("小小",21);maps.put("清清",20);maps.put("心心",24);System.out.println(maps);//1.键找值//1.1先拿到集合的全部键Set keys = maps.keySet();//1.2遍历每个键,根据键提取值for (String key : keys) {int value = maps.get(key);System.out.println(key + ":" + value);}System.out.println(maps);//{大大=23, 小小=21, 心心=24, 清清=20}//2.键值对/**maps = {大大=23, 小小=21, 心心=24, 清清=20}使用foreach遍历Map集合,发现Map集合的键值对元素直接是没有类型的,所以不能使用foreach遍历集合可以通过调用Map的方法,entrySet把Map集合转换成Set集合形式 maps.entrySet()Set>entries = [(大大=23), (小小=21), (心心=24), (清清=20)]此时就可以使用foreach遍历*///2.1把Map集合转换成Set集合 快捷键:maps.entrySet() + ctrl+alt+vSet> entries = maps.entrySet();//2.2开始遍历for(Map.Entry entry : entries){String key = entry.getKey();int value = entry.getValue();System.out.println(key + ":" + value);}System.out.println(maps);//{大大=23, 小小=21, 心心=24, 清清=20}//3.Lambda表达式
//        maps.forEach(new BiConsumer() {
//            @Override
//            public void accept(String key, Integer value) {
//                System.out.println(key + ":" + value);
//            }
//        });//简化代码maps.forEach ((k, v) -> {System.out.println(k + ":" + v);});}
}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部