StreamAPIについて
StreamAPIとは
コレクション(ex. List, ArrayList)を操作するためのAPI。
・データの抽出・加工・集計などができる。
・stream内には基本的にデータは書かない。
・元のコレクションは変更せずに使える。
StreamAPIの基本の流れ
StreamAPIには、Stream生成・中間操作・終端操作の三段階の流れがある。
Stream生成
データをStreamに変換する。
CollectionをStreamに変換
List<String> lists = Arrays.asList("hoge", "fuga", "bar"); Stream<String> stream = lists.stream();
中間操作
Streamのデータを加工してStreamで返す。
この過程はなくてもいいし、複数回実行もできる。
map
変換
Stream<String>からStream<Emp>に変換
Stream<Emp> nameStream = filteredStream.map(string -> string.getName());
終端操作
Streamのデータを別のクラスに変換する。
1回のみ実行可能。
collect
Streamを任意のコレクションに集約
List<String> result = nameStream.collect(Collectors.toList());