• 遍历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的值

  • 相关阅读:
    平台总体技术架构
    防控激活
    dse测试说明
    设置内核tcp连接数
    删除topic的尝试
    用Jmeter进行接口压力测试的步骤
    性能测试
    配置文件的修改
    mysql 监控
    电子栅栏sql和接口查询
  • 原文地址:https://www.cnblogs.com/ablejava/p/5643446.html
Copyright © 2020-2023  润新知