【发布时间】:2020-03-20 15:34:40
【问题描述】:
我想迭代一个地图列表并检查代码是否“approved”然后添加“id”和“date”进入另一个地图。而且我的场景有时代码不会作为我的地图列表的一部分(例如 Record 1 - 我只有第二个元素的 code,我已经只有 id 和 date 在我的第一个元素中,而 Record -2 将在所有元素中包含“code” )
这是我的代码
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);
}
}
我很难在 newMap 中将键添加为“id”并将值添加为“Date”,我想要为代码值“approved”添加“id”和“date”
怎么做?
【问题讨论】: