在stream.reduce之后,是否有更优雅的方式来斩首字符?

维克多·格拉齐

是否有一种更优雅的方式来连接流的元素,而不用“ \ n”开头,而用“ \ n”分隔每个元素,而不必像以下示例中那样进行substring(1)调用?

    List<String> strings = someList;

    String rval = strings.stream()
            .map(this::someOperation)
            .reduce("", (p1, p2) -> p1 + "\n" + p2);

    if(rval.length() > 0)
    {
        // trim off the leading "\n"
        rval = rval.substring(1);
    }
    return rval;
}

当然我可以用内部循环替换它,但是那样会失去明显的功能可读性

帧/秒

有一些特定的收集器可以有效地处理字符串。如果您查看Collectors.joining,就会发现它确实是您想要的:

String joined = strings.stream()
    .map(this::someOperation)
    .collect(Collectors.joining("\n"));

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

没有接口方法stream()Ljava / util / stream / Stream;

FileStreamResult是否关闭Stream?

Java Stream是否可能

这种排列方式是否有更优雅的方式?

UIImage的多个属性是否有更优雅的方式?

是否有比此代码更优雅的方式将XML文档转换为Java中的字符串?

Java Stream有状态findFirst

具有EnumSet Stream的java.util.stream.Collectors

检查`Stream'的所有元素是否相同

java.io.EOFException:没有更多数据可用-预期结束标签</ stream:stream>关闭开始标签<stream:stream>

是否可以通过某种方式来编写异步代码以写入Stream?

有没有更优雅的方式?

Java功能编程方式来证明文本Stream <Integer>

有没有更优雅的方式来重复使用代码块?

有没有更优雅的方式来启动基于列表的线程?

有没有更优雅的方式来执行这个 switch 语句?

有没有更好/更干净/更优雅的方式来分配和释放cuda?

有没有更优雅的方式来编码此生成器?

有没有更优雅的方式来声明新的 var 并同时使用 global

有没有更优雅的方式来读取CSV列并与记录ID合并?

有没有一种更优雅的方式来代替编写大量查询?

有没有更优雅的方式来编写这个 If/or 条件?

在 Kotlin 中是否有更优雅的方法来检查 String 是否是有效的 Int?

Java Stream:在 reduce() 操作中解析字符串

流减少VS Stream.parallel.reduce()

如何使Stream上的reduce()操作短路?

Java-Stream-API:Map Reduce

Java 8:在Stream上执行reduce操作

Snowflake 插入“OVERWRITE”是否会影响 STREAM 捕获更改的方式