java streams - 使用值上的条件从集合映射中收集元素

时间:2016-08-01 20:24:20

标签: java java-8 java-stream

我有一张地图。让我们说

地图> 我想收集所有长值(键) 当至少有一个myObj回答时

map.entrySet().stream().filter(entry->entry.getValue().stream().filter(x->!x.isEnabled())).findAny().collect()

使用java stream。

我试过

ps

1 个答案:

答案 0 :(得分:4)

List<Long> keys = map.entrySet()
        .stream()
        .filter(e -> e.getValue().stream().anyMatch(o -> !o.isEnabled()))
        .map(Map.Entry::getKey)
        .collect(Collectors.toList());