需求说明
在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(","))); }
文章评论