• 遍历Map集合、修改Map集合中的value值


    Map集合是基于java核心类——java.util中的;

    Map集合用于储存元素对,Map储存的是一对键值(key和value),是通过key映射到它的value

    values(): 是获取集合中的所有的值----没有键,没有对应关系。

    KeySet(): 将Map中所有的键存入到set集合中。因为set具备迭代器。所有可以迭代方式取出所有的键,再根据get方法。获取每一个键对应的值。迭代后只能通过get()取key 。

    entrySet():是返回此映射中包含的映射关系的 Set 视图。 Map.Entry表示映射关系,迭代后可以e.getKey(),e.getValue()取key和value。返回的是Entry接口 。

    for each遍历

    1 importjava.util.Iterator;2 importjava.util.Map;3

    4 /**

    5 * @Title: mapTest6 * @Description:7 *@author阿伟8 * @createTime 2018年11月26日下午7:31:039 */

    10 public classmapTest {11 public static voidmain(String[] args) {12 Mapmap = new HashMap();13 map.put(“student1”, “阿伟”);14 map.put(“student2”, “小李”);15 map.put(“student3”, “小张”);16 map.put(“student4”, “小王”);17 //

    18 // //1.使用entrySet()遍历

    19 System.out.println(“使用entrySet()遍历”);20 Iterator it =map.entrySet().iterator();21 while(it.hasNext()) {22 Map.Entry entry =(Map.Entry) it.next();23 Object key =entry.getKey();24 Object value =entry.getValue();25 System.out.println(“key=”+key+" value"+value);26

    27 }28 //2.通过Map.Keyset遍历key和value,普遍使用,二次取值

    29 System.out.println(“通过Map.Keyset遍历key和value,普遍使用,二次取值”);30 for(String key:map.keySet()){31 System.out.println(“Key=”+key+" value="+map.get(key));32 }33 //3通过map.values()遍历所有的value,但不能遍历key

    34 System.out.println(“通过map.values()遍历所有的value,但不能遍历key”);35 for(String v:map.values()){36 System.out.println(“value=”+v);37 }38 //4通过map.entrySet遍历key和value(推荐使用,特别是容量大时)

    39 System.out.println(“通过map.entrySet遍历key和value(推荐使用,特别是容量大时)”);40 for(Map.Entryentry:map.entrySet()){41 System.out.println(“key=”+entry.getKey()+" value="+entry.getValue());42 }43

    44 }45

    46 }

    --------------------测试结果-----------------------------------

    集合中根据是否含有要修改的 Key 键来决定是否要修改相应的 value 值

    1 public static voidgetStringContent(){2 Map map = new HashMap();3 map.put(“张三”, “111111”);4 map.put(“李四”, “222222”);5 String time_info_deadline = “”;6 String cc = “张三”;7 if(map.containsKey(cc)){8 String value =map.get(cc).toString();9 value = value +“;” +“重复”;10 map.put(cc, value);11 }else{12 map.put(cc, “121212”);13 }14

    15 for(Map.Entryentry : map.entrySet()){16 String keyName =entry.getKey();17 String value =entry.getValue().toString();18

    19 time_info_deadline = time_info_deadline + “;” + keyName + “:” +value;20 }21 System.out.println(time_info_deadline.substring(1));22 }

    结果查看:

    1 public static voidgetStringContent(){2 Map map = new HashMap();3 map.put(“张三”, “111111”);4 map.put(“李四”, “222222”);5 String time_info_deadline = “”;6 String cc = “王五”;7 if(map.containsKey(cc)){8 String value =map.get(cc).toString();9 value = value +“;” +“重复”;10 map.put(cc, value);11 }else{12 map.put(cc, “121212”);13 }14

    15 for(Map.Entryentry : map.entrySet()){16 String keyName =entry.getKey();17 String value =entry.getValue().toString();18

    19 time_info_deadline = time_info_deadline + “;” + keyName + “:” +value;20 }21 System.out.println(time_info_deadline.substring(1));22 }

    结果查看:

    由上述代码可以看到:

    当map集合中再次放入已存在的key时,二次存入的Key,Value 会将原来的key,value 全部覆盖掉,只留存新的key,value

  • 相关阅读:
    JWT学习
    互联网食堂大比拼,谁才是互联网养猪场?
    Oracle EBS fndgfm.jsp error : 您没有访问此文件内容的权限
    Html5+CSS3:第二讲:响应式布局基础
    总结如何申请注册 GitHub 教师教育优惠 Benefits for Teachers 来免费使用 copilot
    威高血液净化冲刺香港:年营收29亿 净利降12.7%
    仿真测试断开服务器公网连接
    数据结构——二叉搜索树的实现、删除(最大值和最小值、最大值和最小值)
    Worthington解离酶:胶原酶及四个基本概况
    【数据库开发】DataX开发环境的安装部署(Python、Java)
  • 原文地址:https://blog.csdn.net/m0_67400972/article/details/126618646