[
{"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