Stream型を返すメソッド
メソッド名 | 宣言されたクラス・インターフェイス | 戻り値の型(Stream) | メソッドの動作 | 引数 |
---|---|---|---|---|
Stream.of(T... values) |
Stream |
Stream<T> |
可変長引数で指定した要素を含む Stream を返す | T... values |
Arrays.stream(T[] array) |
Arrays |
Stream<T> |
配列から Stream を生成する | T[] array |
Arrays.stream(int[] array) |
Arrays |
IntStream |
配列から IntStream を生成する | int[] array |
Arrays.stream(double[]) |
Arrays |
DoubleStream |
コレクションから DoubleStream を生成する | double[] array |
Arrays.stream(long[]) |
Arrays |
LongStream |
コレクションから LongStream を生成する | long[] array |
Collection.parallelStream() |
Collection |
Stream<T> |
コレクションから並行 Stream を生成する | なし |
Stream.generate(Supplier<T> s) |
Stream |
Stream<T> |
指定した Supplier で生成した無限の Stream を返す | Supplier<T> |
Stream.iterate(T seed, UnaryOperator<T> f) |
Stream |
Stream<T> |
初期値と関数で無限の Stream を生成する | T seed, UnaryOperator<T> |
Stream.concat(Stream<? extends T> a, Stream<? extends T> b) |
Stream |
Stream<T> |
2つの Stream を連結する | Stream<? extends T> a, Stream<? extends T> b |
Stream.ofNullable(T value) |
Stream |
Stream<T> |
指定した値を含む Stream を返す。値がない場合は空の Stream を返す | T value |
Optional.stream() |
Optional |
Stream<T> |
Optional の値を Stream として返す。値がない場合は空の Stream を返す | なし |
Files.lines(Path path, Charset cs) |
Files |
Stream<String> |
ファイルの各行を Stream として返す | Path path, Charset cs |
Files.list(Path dir) |
Files |
Stream<Path> |
ディレクトリ内のファイルとディレクトリの Path を含む Stream を返す | Path dir |
Stream.flatMap(Function<? super T, ? extends Stream<? extends R>> mapper) |
Stream |
Stream<R> |
各要素を別の Stream に変換し平坦化する | Function<? super T, ? extends Stream<? extends R>> mapper |
Stream.map(Function<? super T, ? extends R> mapper) |
Stream |
Stream<R> |
各要素を変換し、新しい Stream を生成する | Function<? super T, ? extends R> |
Stream.distinct() |
Stream |
Stream<T> |
重複を除いた要素を含む Stream を生成する | なし |
Stream.sorted() |
Stream |
Stream<T> |
自然順序でソートされた Stream を生成する | なし |
Stream.sorted(Comparator<? super T> comparator) |
Stream |
Stream<T> |
指定された Comparator でソートされた Stream を生成する | Comparator<? super T> comparator |
Stream.peek(Consumer<? super T> action) |
Stream |
Stream<T> |
各要素に指定されたアクションを適用する | Consumer<? super T> action |
Stream.skip(long n) |
Stream |
Stream<T> |
最初の n 要素をスキップした Stream を返す | long n |
Stream.takeWhile(Predicate<? super T> predicate) |
Stream |
Stream<T> |
条件を満たす要素が続く限り Stream を返す | Predicate<? super T> predicate |
プリミティブ型ストリーム関連メソッド (IntStream)
メソッド名 | 宣言されたクラス・インターフェイス | 戻り値の型 | メソッドの動作 | 引数 |
---|---|---|---|---|
IntStream.of(int... values) |
IntStream |
IntStream |
可変長引数で指定した要素を含む IntStream を返す | int... values |
IntStream.range(int startInclusive, int endExclusive) |
IntStream |
IntStream |
範囲内の整数を含む IntStream を返す | int startInclusive, int endExclusive |
IntStream.rangeClosed(int startInclusive, int endInclusive) |
IntStream |
IntStream |
範囲内の整数を含む IntStream を返す | int startInclusive, int endInclusive |
IntStream.map(IntUnaryOperator mapper) |
IntStream |
IntStream |
各要素を指定された関数で変換し、新しい IntStream を返す | IntUnaryOperator mapper |
IntStream.mapToObj(IntFunction<? extends U> mapper) |
IntStream |
Stream<U> |
各要素をオブジェクトに変換し、Stream を生成する | IntFunction<? extends U> mapper |
IntStream.flatMap(IntFunction<? extends IntStream> mapper) |
IntStream |
IntStream |
各要素を別の IntStream に変換し、平坦化された IntStream を返す | IntFunction<? extends IntStream> mapper |
IntStream.peek(IntConsumer action) |
IntStream |
IntStream |
各要素に指定されたアクションを適用する | IntConsumer action |
IntStream.takeWhile(IntPredicate predicate) |
IntStream |
IntStream |
条件を満たす要素が続く限り IntStream を返す | IntPredicate predicate |
IntStream.dropWhile(IntPredicate predicate) |
IntStream |
IntStream |
条件を満たさなくなるまでの要素をスキップし、残りの要素で構成される IntStream を返す | IntPredicate predicate |
IntStream.concat(IntStream a, IntStream b) |
IntStream |
IntStream |
2つの IntStream を連結する | IntStream a, IntStream b |
補足: プリミティブ型を返すメソッド
メソッド名 | 宣言されたクラス・インターフェイス | 戻り値の型 | メソッドの動作 |
---|---|---|---|
OptionalInt.getAsInt() |
OptionalInt |
int |
OptionalInt に値が存在する場合にその値を返す。値がない場合は NoSuchElementException をスロー |
IntStream.sum() |
IntStream |
int |
IntStream の全ての要素を合計して返す。要素がない場合は 0 を返す |
IntStream.count() |
IntStream |
long |
要素数をlong型で返すリダクション操作。return mapToLong(e -> 1L).sum() と同等 |
Stream.count() |
Stream |
long |
- |
IntStream.reduce(int identity, IntBinaryOperator op) |
IntStream |
int |
ストリームの要素を累積し、単一の結果を返す。 |