LoginSignup
0
0

JavaのStreamインスタンスを作成する

Posted at

Java8で導入されたStreamAPIの具体的な使い方を使い方を説明していきます。
まずそのStreamインスタンスの作成方法から見ていきましょう。

ListやSetからStreamを作成する場合

Collection インターフェース(List や Set など)の stream() メソッドを使用して、ストリームを作成します。

import java.util.Arrays;
import java.util.List;
import java.util.stream.Stream;

public class StreamExample {
    public static void main(String[] args) {
        List<String> list = Arrays.asList("Apple", "Banana", "Cherry");
        Stream<String> stream = list.stream();
        stream.forEach(System.out::println);  // Apple, Banana, Cherry を出力
    }
}

配列からStreamを作成する場合

Arrays.stream() メソッドを使用して、配列からストリームを作成します。

import java.util.Arrays;
import java.util.stream.Stream;

public class StreamExample {
    public static void main(String[] args) {
        String[] array = {"Apple", "Banana", "Cherry"};
        Stream<String> stream = Arrays.stream(array);
        stream.forEach(System.out::println);  // Apple, Banana, Cherry を出力
    }
}

MapからStreamを作成する場合

Map からストリームを作成するには、entrySet(), keySet(), または values() メソッドを使用して、それぞれエントリ、キー、または値のセットを取得し、そのセットからストリームを作成します。

import java.util.Map;
import java.util.HashMap;
import java.util.stream.Stream;

public class StreamExample {
    public static void main(String[] args) {
        Map<String, Integer> map = new HashMap<>();
        map.put("Apple", 1);
        map.put("Banana", 2);
        map.put("Cherry", 3);

        // エントリのストリーム
        Stream<Map.Entry<String, Integer>> entryStream = map.entrySet().stream();
        entryStream.forEach(entry -> System.out.println(entry.getKey() + ": " + entry.getValue()));

        // キーのストリーム
        Stream<String> keyStream = map.keySet().stream();
        keyStream.forEach(System.out::println);

        // 値のストリーム
        Stream<Integer> valueStream = map.values().stream();
        valueStream.forEach(System.out::println);
    }
}

数値範囲からStreamを作成する場合

IntStream, LongStream, または DoubleStream の range() または rangeClosed() メソッドを使用して、数値範囲からストリームを作成します。

import java.util.stream.IntStream;

public class StreamExample {
    public static void main(String[] args) {
        // 1 から 5 までの IntStream
        IntStream intStream = IntStream.rangeClosed(1, 5);
        intStream.forEach(System.out::println);  // 1, 2, 3, 4, 5 を出力
    }
}

これらの例を通じて、さまざまなデータソースからJavaのStream APIを使用してストリームを作成する方法を確認できます。

次の記事でStreamに対する「中間操作」を説明します。

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