我有一个输入列表
[[Health{key='day', value='mon'}, Health{key='bp', value='ok'}, Health{key='temp', value='ok'}],
[Health{key='day', value='tues'}, Health{key='bp', value='notok'}, Health{key='temp', value='ok'}]
...]
我想过滤输入,输出应该是list<健康的在比;谁的"bp"是"notok"&&'temp'是'ok'.>
e.g output should be
[[Health{key='day', value='tues'}, Health{key='bp', value='notok'}, Health{key='temp', value='ok'}]]
我在java中使用流作为参考过滤内部和外部列表,但不确定如何过滤健康,这是一个字典。
我将使用一对而不是Health,但应该看起来像这样:
List<List<Pair<String,String>>> healthList = new ArrayList<>();
List<List<Pair<String,String>>> filterdList = healthList.stream()
.filter(m -> m.stream()
.anyMatch(l -> l.getKey().equals("bp") && l.getValue().equals("notOk")))
.filter(m -> m.stream()
.anyMatch(l -> l.getKey().equals("temp") && l.getValue().equals("ok")))
.collect(Collectors.toList());