gpt4 book ai didi

java - 在 Java 8 中测试 Lambda

转载 作者:行者123 更新时间:2023-12-01 23:03:14 27 4
gpt4 key购买 nike

我正在摆弄 Java 8 lambda,我试图执行以下操作,但显然我做了一些非常错误的事情。我有一个字符串数组 String [] q我试图调用一个返回一组 Node 的静态方法数组中每个元素的对象。这是我写的:

Set<Set<Node>> sets = Arrays.asList(q).stream().forEach(InMemoryGraph::getAllPredicates);

getAllPredicates是一个接受 String 作为参数并返回 Set<Node> 的方法。我需要使用 java.util.function ?任何建议表示赞赏。

最佳答案

所以:

  • 您有一个要流式传输的数组:Arrays.stream(q)
  • 然后你想将每个字符串映射到一组节点:.map(InMemoryGraph::getAllPredicates)
  • 并将这些集合收集到一个集合中:.collect(toSet());

一口气:

Set<Set<Node>> sets = Arrays.stream(q) //a Stream<String>
.map(InMemoryGraph::getAllPredicates) // a Stream<Set<Node>>
.collect(toSet()); // a Set<Set<Node>>

注意:您需要静态导入 Collectors.toSet

关于java - 在 Java 8 中测试 Lambda,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23188948/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com