如何将整数流过滤到列表中?

戴夫:

我正在尝试处理一个流,Integers并将与谓词匹配的整数(通过compare()函数)收集到一个列表中。这是我编写的代码的粗略概述。

private List<Integer> process() {
    Z z = f(-1);
    return IntStream.range(0, 10)
        .filter(i -> compare(z, f(i)))
        .collect(Collectors.toCollection(ArrayList::new)); // Error on this line
}

private boolean compare(Z z1, Z z2) { ... }
private Z f(int i) { ... }

不幸的是,我的解决方案无法编译,我无法理解突出显示行的编译器错误:

IntStream类型的方法collect(Supplier <R>,ObjIntConsumer <R>,BiConsumer <R,R>)不适用于参数(Collector <Object,capture#1-of?,Collection <Object >>)

有什么建议?

他们是:

IntStream不包含collect接受type单个参数的方法CollectorStream做。因此,您必须将转换IntStreamStream

您可以将装箱IntStreamStream<Integer>或使用mapToObj来实现相同的效果。

例如:

return IntStream.range(0, 10)
    .filter(i -> compare(z, f(i)))
    .boxed()
    .collect(Collectors.toCollection(ArrayList::new));

boxed() 将返回一个包含此流元素的流,每个元素都装在一个整数中。

要么

return IntStream.range(0, 10)
    .filter(i -> compare(z, f(i)))
    .mapToObj(Integer::valueOf)
    .collect(Collectors.toCollection(ArrayList::new));

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将模型用户中的对象过滤到列表中

将列表过滤到单独的列表中

序言:将列表过滤到列表中

如何将某些单词过滤到带有pandas的新列中?

如何将多列数据过滤到Excel中的一列?

如何将树过滤到公共父级

将唯一的数组项过滤到选择列表中

将Backbone集合过滤到多个列表中

用括号将内容过滤到Python列表中

如何将docker客户端环境变量过滤到docker run命令中?

如何将 S3 listObject 过滤到确定的点?(与 Marker 参数相反)

将列表对象过滤到jsp页面中的servlet上下文中

Javascript-将数组结果过滤到下拉列表中

如何将对象数组过滤到MongoDB文档中

如何将列表中的所有整数相乘

如何将整数除以数字并放入Java列表中?

如何将随机列表中的整数相乘

如何将 sqlalchemy 查询过滤到所有没有孩子的父母和所有父母,他们属于 Flask 表单中的条件

如何从Java 8流过滤中捕获已删除项目的列表?

如何使用数据框、列表、向量等过滤到 R 数据库中的表?

列表中列表的Java 8流过滤值

如何根据Shiny中的函数生成的输出将数据过滤到Kaplan-Meier中?

如何使用tee选项将参数传递给ffmpeg中的位流过滤器?

Java8:如何通过流过滤列表值的映射

流过滤器并检索列表中项目的索引

将对象数组过滤到单独的列表中

如何将整数变成列表

如何将列表转换为整数

如何创建函数将PostgreSQL过滤到MySQL?