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

标签 java java-8 java-stream

<分区>

我有一张 map 。假设

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

myObj.isEnabled=false

使用 java 流。

我试过了

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

最佳答案

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

关于java streams - 使用值的条件从集合映射中收集元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38707483/

相关文章:

java - 生成随机字母/数字数组,但不能使用相同的字母/数字两次

java - Java 8 接口(interface)默认方法中使用的阴影变量

Java 流 : combine elements in a map

java - 使用 Stream 避免 NoSuchElementException

java - 如何扫描java中不同目录中的文件?

java - 使用 ProGuard 混淆 Java protected 元素

java - Java中简单多线程程序的奇怪问题

java - 如何使用 Java 8 Stream API 将嵌套列表合并为简单列表

java - 使用 Java 8 Streams 对 Map 的值进行排序 (Set -> SortedSet)

java - 如何从 groovy 调用 Java Stream.collect()?