MST

星途 面试题库

面试题:Java中如何使用Stream collect方法构建StringBuilder

请使用Java Stream的collect方法构建一个StringBuilder,将给定List<String>中的所有字符串拼接起来。例如,给定List<String> list = Arrays.asList("a", "b", "c"),最终要通过Stream collect方法得到一个包含"abc"的StringBuilder对象,并给出具体代码实现。
29.8万 热度难度
编程语言Java

知识考点

AI 面试

面试题答案

一键面试
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class StringBuilderStreamExample {
    public static void main(String[] args) {
        List<String> list = Arrays.asList("a", "b", "c");
        StringBuilder result = list.stream()
               .collect(StringBuilder::new, StringBuilder::append, StringBuilder::append);
        System.out.println(result.toString());
    }
}

上述代码中,list.stream()List 转换为流。collect 方法接收三个参数:

  1. StringBuilder::new:这是一个构造函数引用,用于创建一个新的 StringBuilder 对象。
  2. StringBuilder::append:这是一个实例方法引用,用于将流中的每个字符串追加到 StringBuilder 对象中。
  3. StringBuilder::append:这是一个实例方法引用,用于合并两个 StringBuilder 对象。在并行流处理时会用到,将多个局部 StringBuilder 合并成一个最终的 StringBuilder。最终通过 collect 方法得到拼接好字符串的 StringBuilder 对象。