java – 为流中已有的每个元素添加一个元素到流的末尾
发布时间:2020-12-14 23:22:50 所属栏目:Java 来源:网络整理
导读:给定函数函数 T,T f和流 T创造新的流 T的好方法(良好的可读性,良好的性能)是什么?它首先包含原始元素,然后是由f转换的元素. 有人可能认为这会起作用: Stream.concat(ts,ts.map(f)); 但这不起作用,导致异常: java.lang.IllegalStateException: stream has
给定函数函数< T,T> f和流< T>创造新的流< T>的好方法(良好的可读性,良好的性能)是什么?它首先包含原始元素,然后是由f转换的元素.
有人可能认为这会起作用: Stream.concat(ts,ts.map(f)); 但这不起作用,导致异常: java.lang.IllegalStateException: stream has already been operated upon or closed 注意:顺序很重要:原始元素必须以正确的顺序排在第一位,然后按匹配顺序排列转换后的元素. 解决方法
你不能打开一瓶酒,然后将瓶子传递给另一个人并让他再次打开它.
因此,我认为通过溪流的性质来实现你的要求是不可能的. 每个流都有一个“处理”链.你不能有两个. 所以你能得到的最接近的就是从“它的起源”开始 Stream.concat(someList.stream(),someList.stream().map(f)); 例如.当然,如果你没有这个清单,你可以去: List<Whatever> someList = ts.collect(Collectors.asList()); 第一. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |