List<HashMap<String, Object>> tableData = new ArrayList<>(); List<HashMap<String, Object>> list = tableData.stream() .flatMap(map -> map.values().stream()) .filter(value -> value instanceof JSONArray) .map(value -> (JSONArray) value) .filter(jsonArray -> { for (int i = 0; i < jsonArray.size(); i++) { JSONObject jsonObject = jsonArray.getJSONObject(i); if (jsonObject != null && jsonObject.containsValue("高")) { return true; } } return false; }).collect(Collectors.toList()); 怎么修改使得返回成立
时间: 2024-01-01 16:03:47 浏览: 128
如果您想要返回包含 "高" 的 JSONArray,可以修改代码如下:
```
List<JSONArray> list = tableData.stream()
.flatMap(map -> map.values().stream())
.filter(value -> value instanceof JSONArray)
.map(value -> (JSONArray) value)
.filter(jsonArray -> {
for (int i = 0; i < jsonArray.size(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
if (jsonObject != null && jsonObject.containsValue("高")) {
return true;
}
}
return false;
})
.collect(Collectors.toList());
```
这样会返回一个包含所有包含 "高" 的 JSONArray 的列表。如果您想要返回包含 "高" 的 JSONObject,则可以进行进一步的筛选和处理。
阅读全文