0
0

Java Gold メソッド逆引き早見表 Stream型を返すメソッド

Last updated at Posted at 2024-09-05

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 ストリームの要素を累積し、単一の結果を返す。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0