java中Map的四种遍历实现

举报
INGUCoder 发表于 2018/12/28 12:55:07 2018/12/28
【摘要】 package com.learn.集合;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set;public class Map遍历 { public static void main(String[] args) { Map<Integer...

   

package com.learn.集合;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class Map遍历 {
    public static void main(String[] args) {
        Map<Integer, String> map = new HashMap<Integer, String>();
        map.put(1, "张三");
        map.put(2, "李四");
        map.put(3, "王二");


        System.out.println("*********第一种遍历方法*使用for  each遍历 keyset*********");
        /*使用for  each遍历 keyset
         * */

        //Set<Integer>  set=map.keySet();
        for (Integer key : map.keySet()) {
            System.out.println("key=" + key + "value=" + map.get(key));
        }


        System.out.println("*********第二种遍历方法*使用interator遍历keyset*********");
        /*
         *使用interator遍历keyset
         * */

        Iterator<Integer> iterator = map.keySet().iterator();
        while (iterator.hasNext()) {
           //这边一定要给  iterator.next()传入一个参数,不然在后面调用值会变化
            //比如     "key=" + iterator.next() + 这边的key值是没问题的
            //                    "value=" + map.get(iterator.next()))
            // 这边传入的key值因为上一句的调用后已经返回后面一个了,这就会导致错位
            Integer p1=iterator.next();
            System.out.println("key=" + p1 +
                    "value=" + map.get(p1));
        }


        System.out.println("*********第三遍历方法*使用for  each来遍历entrySet*********");
        /*
         * 使用for  each来遍历entrySet
         *
         * */
        for (Map.Entry<Integer, String> entry : map.entrySet()) {
            System.out.println("key=" + entry.getKey() + "value=" + entry.getValue());
        }

        System.out.println("*********第四种遍历方法*使用interator 来遍历entrySet*********");
        /*
         *  使用interator 来遍历entrySet
         * */
        Iterator<Map.Entry<Integer, String>> iterator1 = map.entrySet().iterator();

        while (iterator1.hasNext()) {
            Map.Entry<Integer,String> p2 =  iterator1.next();
            System.out.println("key=" + p2.getKey() + "value=" + p2.getValue());
        }


    }


}
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。