如何从java中的映射值列表中获取值,并在不存在时进行处理
我想迭代地图列表,检查代码是否为“已批准”,然后将“id”和“日期”添加到另一个地图中。我有一个场景代码不会作为地图列表的一部分出现(例如,记录1-我只有第二个元素的代码,我只有id和日期在我的第一个元素中,as记录-2在所有元素中都有“代码”)
这是我的密码
List<Map<String, Object>> prodIds = ((List<Map<String, Object>>) myIds.get("result"));
//这个prodIds在我的java代码中返回如下:
记录1:
[{id=[14766724], Date=[1999-01-01]}, {id=[49295837], code=[approved], Date=[2003-04-01]}]
记录2:
[{id=[58761474621], code=[approved], Date=[2017-09-30]}, {id=[3368781], code=[Cancelled], Date=[2014-01-01]}, {id=[48843224], code=[Cancelled], Date=[2009-01-01]}]
Java代码
List<Map<String, Object>> prodIds = ((List<Map<String, Object>>) myIds.get("result"));
System.out.println("prodIds : " +prodIds ); // [{id=[14766724], Date=[1999-01-01]}, {id=[49295837], code=[approved], Date=[2003-04-01]}]
Map<String, String> newMap = new HashMap<>();
for (Map<String, Object> map : prodIds) {
for (Map.Entry<String, Object> entry : map.entrySet()) {
String key = entry.getKey();
System.out.println("Key : " +key);
String value = (String) entry.getValue();
System.out.println(" Value : " +value);
}
}
在这里,我很难在我的新地图中添加“id”键和“Date”值,我想为代码值“approved”添加“id”和“Date”键
怎么做
# 1 楼答案
您只需要一个简单的空检查
# 2 楼答案
这将查找所有已批准的项目并输出日期(假设代码值为字符串):