我有这个代码,任务是确定最长的单词,我通过几个流进行了测试。如何组合它们?
List<String> maxLengthWords = ForkJoinTask.invokeAll(createSubtasks()).stream()
.flatMap(maxLengthWord -> maxLengthWord.join().stream())
.collect(Collectors.toList());
int longest = maxLengthWords.stream()
.mapToInt(String::length)
.max()
.orElse(-1);
return maxLengthWords.stream()
.filter(s -> s.length() == longest)
.collect(Collectors.toList());
您可以获取所有集合并将它们连接到流。关于(…)
功能。
我不明白你想从你的代码中得到什么,但你可以用以下方式组合流:
Stream.of(collectionA.stream(),collectionB.stream())
看看:https://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html#of-T-
我们将数据导入到elasticsearch集群中的索引很少,每个索引约为10GB。 同时,我们关心对现有索引的搜索,很少是小的-100MB,也很少是大的-10GB。 根据这些文章和拉请求,我们不应该接触合并设置在所有。 在这里非常困惑,任何帮助都非常感谢。
示例程序: 所以,为了简化这里的问题,没有最终的转换,所以得到的代码非常简单。
问题内容: 示例程序: 因此,为简化起见,没有最终转换,因此生成的代码非常简单。 现在,产生一个顺序流。我只是将结果装箱到s中,然后将其收集到中。很简单 而且,无论我运行此示例程序多少次,都不会成功,这意味着永远不会调用我的虚拟组合器。 我有点期望,但是后来我已经误解了流,以至于我不得不问这个问题… 可以将的组合时,流过被称为 保证 是连续的? 问题答案: 仔细阅读ReduceOps.java中的
问题内容: 这里有点“简单”的问题,但是 使用Eclipse进行此类操作似乎很复杂。 我有一个“ utils”项目,在其中开发了“通用”代码,例如xml解析器,记录器,数学计算,调试实用程序等。 该库基于其他几个外部库(commons-lang-3.1,colt-1.2.0,jdom-2.0.4)工作,并且它是不可运行的JAR文件(即, 没有main(),包含在其他项目中的实用程序代码)。 我想做
问题内容: 我正在尝试找出将两个列表合并为所有可能组合的最佳方法。因此,如果我从两个这样的列表开始: 结果列表如下所示: 也就是说,它基本上会生成一个列表列表,其中包含所有可能的组合。 我一直在通过itertools进行工作,我肯定可以找到答案,但是我无法提出一种使其以这种方式起作用的方法。我最接近的是: 哪个产生了: 因此,它会执行每个列表中所有可能的项目组合,但不会执行所有可能的结果列表。我如
我分组和分区流如下: 有没有办法把这两者结合起来?我尝试将两者结合使用,并在PartionBy中使用groupingBy,但没有成功。有什么建议吗? 预期的结果是将这些人与以P开头的人分开,并按年龄分组。以下是人员名单: