遍历Map集合中的值

提供了四个方法,看个人喜欢!

方法一

数据:

Map<Integer, String> map = new HashMap<>();
        map.put( 1, "jack" );
        map.put( 2, "昊哥" );
        map.put( 3, "欢欢" );
        map.put( 4, "Tom" );
 		//遍历map集合(第一种)
        //第一种遍历map的方式,先遍历map集合所有的键,再根据键在获取相应的值
        //使用iterator遍历
        Set<Integer> keyset = map.keySet(); //返回key的视图 [1,2,3,4]
        //获取Iterator对象
        Iterator<Integer> it = keyset.iterator();

        while (it.hasNext()) {
            Integer key = it.next(); //迭代之后用next方法将key遍历出来
            String value = map.get( key ); // 获得key 之后根据key 提取 value
            System.out.println( "[" + key + "," + value + "]" );

方法二

        //第二种方式,获取集合中所有的映射关系,然后从映射关系中取出键和值
        Set<Map.Entry<Integer, String>> entries = map.entrySet(); //获取集合中所有的映射关系
        Iterator<Map.Entry<Integer, String>> iterator = entries.iterator();
        while (iterator.hasNext()) {
            Map.Entry<Integer, String> enkey = iterator.next(); //获取集合中的键值对
            Integer enkeyKey = enkey.getKey();// 获取集合中的key
            String enkeyValue = enkey.getValue();//获取集合中的value
            System.out.println( "[" + enkeyKey + "," + enkeyValue + "]" );
        }

方法三

 map.forEach( new BiConsumer<Integer, String>() {
            @Override
            public void accept(Integer integer, String s) {
                System.out.println( "[" + integer + "," + s + "]" );
            }
        } );

方法四

//第四种方式
        map.forEach( (k, v) -> {
            System.out.println( "[" + k + "," + v + "]" );
        } );

版权声明:本文为weixin_45417821原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。