zoukankan      html  css  js  c++  java
  • Map集合常见的几种迭代方法

    在java中,Map是一种常用的存储元素的方法,Map使用“键值对”的方式来存储元素,其中每个键映射到一个值,值可以重复,键不可以重复。以下介绍几种Map常见的迭代方法。
    首先,初始化一个Map:

     private static Map<String, Object> map = new HashMap<String, Object>() {
            private static final long serialVersionUID = 5657009787456288973L;
            {
                put("name", "jack");
                put("sex", "M");
                put("age", 23);
            }
        };
    

    接下来便是对这个Map集合进行遍历了:
    1.使用entrySet的方式(使用最多):

    	@Test
        public void entrySetTest() {
            for (Map.Entry<String, Object> entry : map.entrySet()) {
                System.out.println(entry.getKey() + "=" + entry.getValue());
            }
        }
    

    2.使用keySet的方式:

        @Test
        public void keySetTest() {
            for (String key : map.keySet()) {
                System.out.println(key + "=" + map.get(key));
            }
        }
    

    3.使用iterator的方式:

        @Test
        public void iteratorTest() {
            Iterator<Entry<String, Object>> iterator1 = map.entrySet().iterator();
            while (iterator1.hasNext()) {
                Entry<String, Object> entry = iterator1.next();
                System.out.println(entry.getKey() + "=" + entry.getValue());
            }
    
            Iterator<String> iterator2 = map.keySet().iterator();
            while (iterator2.hasNext()) {
                String key = iterator2.next();
                System.out.println(key + "=" + map.get(key));
            }
        }
    

    4.使用values的方式(这种方式不能遍历key):

        @Test
        public void valuesTest() {
            for (Object obj : map.values()) {
                System.out.println(obj);
            }
        }
    

    5.使用forEach的方式(JDK1.8新增,更加简洁优雅的迭代方式):

        @Test
        public void foreachTest() {
            map.forEach((key, value) -> {
                System.out.println(key + "=" + value);
            });
        }
    
    一颗安安静静的小韭菜。文中如果有什么错误,欢迎指出。
  • 相关阅读:
    CVSps 3.8 发布,CVS 资料库更改收集
    Cobra WinLDTP 3.0 发布,GUI 自动化测试
    SolusOS 2 Alpha 6 发布,桌面 Linux 发行
    微软 Windows Phone 8 原创应用大赛起航
    JAVA削足适履适应RESTful设计
    如何撰写编程书籍
    Synbak 2.1 发布,系统备份工具
    LibreOffice 4.0 RC1 发布,支持火狐兼容主题
    Rails 3.2.11 发布,修复关键安全问题
    haveged 1.7 发布,随机数生成器
  • 原文地址:https://www.cnblogs.com/c-Ajing/p/13448384.html
Copyright © 2011-2022 走看看