繁体   English   中英

我如何替换列表<map>在java中映射键的值

[英]How can i replace List<map> map key's value in java

我想在这里重新分配所有迭代的时间值

List<Map<String,Object>> mapList=new ArrayList<Map<String,Object>>();
Map myMap1=new HashMap();
myMap1.put("name", "jai");
myMap1.put("time", Instant.now());
mapList.add(myMap1);
Map myMap2=new HashMap();
myMap2.put("name", "kishan");
myMap2.put("time", Instant.now()); 

使用remove("time")返回旧值并放入新键

mapList.forEach(map ->{
    map.put("new time",map.remove("time"));
});

我得到了答案

import java.time.Instant;
import java.time.temporal.ChronoUnit;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class HelloWorld {

    public static void main(String... args) {
        List<Map<String,Object>> mapList=new ArrayList<Map<String,Object>>();
        Map<String, Object> myMap1=new HashMap<String, Object>();
        myMap1.put("name", "jai");
        myMap1.put("time", Instant.now());
        mapList.add(myMap1);
        Map<String, Object> myMap2=new HashMap<String, Object>();
        myMap2.put("name", "kishan");
        myMap2.put("time", Instant.now());
        mapList.add(myMap2);
        System.out.println(mapList);
        mapList.forEach(oneMap -> replaceKeyBy(oneMap));
        System.out.println(mapList);
        
        }
    private static void replaceKeyBy(Map<String, Object> map) {
        map.replace("time",Instant.now().plus(10, ChronoUnit.DAYS));
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM