如果您确定最多将获得一个通过过滤器的元素(由过滤器保证),则可以使用findFirst
:
Optional<List> o = id1.entrySet()
.stream()
.filter( e -> e.getKey() == 1)
.map(Map.Entry::getValue)
.findFirst();
在一般情况下,如果过滤器可以匹配多个列表,则可以将它们收集到一个列表列表中:
List<List> list = id1.entrySet()
.stream()
.filter(.. some predicate...)
.map(Map.Entry::getValue)
.collect(Collectors.toList());