[
{"productStatus":
[
{"status": "spoilt"},
{"status": "used"}
],
"productMsg":
[
{"msg": "Valid"}
]
},
{"productStatus":
[
{"status": "new"},
],
"productMsg":
[
{"msg": "Ok"},
{"customMsg" : "blah blah"}
]
}
]
我将上述数据存储在List<Map<String, List<Map<String, String>>>>
;在使用Java流的复杂数据结构中搜索
例如:
val is represented by Lombok library.
val firstObj = ImmutableList.of(ImmutableMap.of("status", "spoilt"),
ImmutableMap.of("status", "new"),
ImmutableMap.of("status", "used"));
val secondObj = ImmutableList.of(ImmutableMap.of("msg", "Valid"));
val productStatus1 = ImmutableMap.of("productStatus", firstObj,
"productMsg", secondObj);
val firstObj_1 = ImmutableList.of(ImmutableMap.of("status", "new"));
val secondObj_2 = ImmutableList.of(ImmutableMap.of("msg", "Ok"));
val productStatus_2 = ImmutableMap.of("productStatus", firstObj_1,
"productMsg", secondObj_2);
val testObj = ImmutableList.of(productStatus1, productStatus_2);
我需要找出一个productStatus是新的,然后让所有的productMsgs。例如,在例子中,我给了: 我会需要的
{"msg": "Ok"},
{"customMsg" : "blah blah"}
地图对于每一个productStatus它有新的状态,把它添加到列表中。基本上我将需要返回一个List<Map<String, String>>
。
我知道如何在传统的Java for循环方法中这样做,我觉得这太笨拙和冗长。有没有一种简洁的方式来使用Streams来做到这一点?
'val' ...这是不是Java? – GhostCat
@GhostCat如上所述,我正在使用Lombok for val。你应该检查一下。可以使编程更快! – user1692342
你为什么不使用POJO模型? – shmosel