Loose end: concat
Brian Goetz
brian.goetz at oracle.com
Thu May 23 11:06:14 PDT 2013
I cleaned up concat() and wrote Int/Long/Double versions. (Fortunately,
with the recent addition of Spliterator.OfPrimitive, the duplication
quotient was much lower.)
Currently these still live in Streams. Is that still the right place?
The stream classes (Stream, IntStream, etc) seem a little wrong for
them, but I can't quite put my finger on why.
Specs:
/**
* Creates a lazy concatenated {@code Stream} whose elements are
all the
* elements of a first {@code Stream} succeeded by all the elements
of the
* second {@code Stream}. The resulting stream is ordered if both
* of the input streams are ordered, and parallel if either of the
input
* streams is parallel.
*
* @param <T> The type of stream elements
* @param a the first stream
* @param b the second stream to concatenate on to end of the first
* stream
* @return the concatenation of the two input streams
*/
public static <T> Stream<T> concat(Stream<? extends T> a, Stream<?
extends T> b) {
/**
* Creates a lazy concatenated {@code IntStream} whose elements are
all the
* elements of a first {@code IntStream} succeeded by all the
elements of the
* second {@code IntStream}. The resulting stream is ordered if both
* of the input streams are ordered, and parallel if either of the
input
* streams is parallel.
*
* @param a the first stream
* @param b the second stream to concatenate on to end of the first
stream
* @return the concatenation of the two streams
*/
public static IntStream concat(IntStream a, IntStream b) {
(and similar for Long and Double).
More information about the lambda-libs-spec-experts
mailing list