zoukankan      html  css  js  c++  java
  • 遍历Map集合的另一种方式

    我们常用的遍历集合中key和value的方式是:

    Map<String,String>  map = new HashMap<String,String>();
    
    Set<String> mapSet = map.keySet();和Collection<String> c = map.values();

    方法,如果想把map集合的values转为List<String>集合可以使用下面的方法:

    Map<String, String> map = new HashMap<String, String>();
    		map.put("1", "aa");
    		map.put("2", "bb");
    		Set<String> keySet = map.keySet();
    	List<String> valList = new ArrayList<String>(map.values());
    

    在api中出提供了上面的方法取得map集合中的key和value外还提供了,map.entrySet();方法,下面看看下面的示例:

    public static void main(String[] args) {
    		Map<String, String> map = new HashMap<String, String>();
    		map.put("1", "aa");
    		map.put("2", "bb");
    		Set<String> keySet = map.keySet();
    		List<String> li = new ArrayList<String>(map.values());
    		
    		
    		Map<String,String[]> mapArr = new HashMap<String, String[]>();
    		String[] attStr = {"1","2"};
    		String[] attStr2 = {"3","4"};
    		mapArr.put("a", attStr);
    		mapArr.put("a", attStr2);
    		
    		// 第一种,map中的key没有相同的情况
    		 Iterator it = map.entrySet().iterator();
    		 while (it.hasNext()) {
    			 Map.Entry<String, String> entry = (Entry<String, String>) it.next();
    			 System.out.println(entry.getKey()+"************"+entry.getValue());
    		}
    		 for (Map.Entry<String, String> string : map.entrySet()) {
    			 System.out.println(string.getKey()+"----------"+string.getValue());
    		}
    		 
    		 // 第二种,map集合中key相同,value不同的情况
    		 Iterator itArr = mapArr.entrySet().iterator();
    		 while (itArr.hasNext()) {
    			Map.Entry<String, String[]> arrMap = (Entry<String, String[]>) itArr.next();
    			System.out.println(arrMap.getKey()+"0000"+arrMap.getValue()[0]);
    		}
    		 for (Map.Entry<String, String[]> string : mapArr.entrySet()) {
    			System.out.println(string.getKey()+"eeeeeee"+string.getValue()[0]);
    		}
    
    	}
    

    代码运行结果: 

     

    总结:

    使用:map.entrySet();方法当有相同的key时,只会输出最后一次put的值

  • 相关阅读:
    apache2.4+php7.3.2+mysql5.7
    redis 中的key值过期后,触发通知事件
    zookeeper之分布式锁以及分布式计数器(通过curator框架实现)
    SpringCloud学习笔记(4)——Zuul
    SpringCloud学习笔记(3)——Hystrix
    SpringCloud学习笔记(2)——Ribbon
    c++各种排序的简单实现
    c++动态规划dp算法题
    华为机试练习
    ubuntu遇到的 the system is runing low-graphics mode 问题
  • 原文地址:https://www.cnblogs.com/ablejava/p/5643446.html
Copyright © 2011-2022 走看看