[Java]Stream里的数组里插入特定的元素(或数组)的方法

2021-12-28 667点热度 0人点赞 0条评论

需求说明

在Stream里处理元素的时候,如果想要在当前Stream里临时加一个元素或者加一个数组

实现方式

利用Stream.concat方法,可以将2个Stream合并成一个,使用和测试方法如下:

public static void main(String[] args) throws Exception {
    Stream<String> existsStream1 = Stream.of("B", "C", "D");
    // 插到这个stream的前面
    Stream<String> newStream1 = Stream.concat(Stream.of("A"), existsStream1);
    newStream1.forEach(System.out::print);

    System.out.println();
    Stream<String> existsStream2 = Stream.of("B", "C", "D");
    // 插到这个stream的后面,也可以插入一个数组
    Stream<String> newStream2 = Stream.concat(existsStream2, Stream.of("E", "F"));
    newStream2.forEach(System.out::print);

    System.out.println();
    // 如果要插入到指定位置,没有现成的方法,只能转成一个List,然后再转成stream
    Stream<String> existsStream3 = Stream.of("B", "C", "D");
    List<String> list3 =  existsStream3.collect(Collectors.toList());
//        list3.addAll(2, List.of("C1", "C2"));
    list3.add(2, "C1");
    System.out.println(list3.stream().collect(Collectors.joining(",")));
}

 

admin

这个人很懒,什么都没留下

文章评论

您需要 登录 之后才可以评论