filter(抽出)
・条件に一致するデータをフィルタリングする。
・引数はbooleanが戻り値となる条件式を書く
オブジェクト名.stream().filter(仮引数 -> 条件式);
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("apple");
list.add("orange");
list.add("banana");
list.stream()
.filter(i -> i != "apple");//listから"apple以外が抽出される"
}
sorted(並び替え)
・Comparatable を実装していないプリミティブ型は昇順ソートしかできない
・Comparatable を実装した型(StringやIntegerなど)ならComparatorで昇順降順を指定できる
なお、昇順の場合はComparator.naturalOrder()を省略することができる
オブジェクト名.stream().sorted(昇順or降順);
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("lemon");
list.add("orange");
list.add("apple");
list.stream().sorted(Comparator.naturalOrder());//昇順
list.stream().sorted(Comparator.reverseOrder());//降順
}
map()
・オブジェクト内の要素を変換する
オブジェクト名.stream().map(仮引数 -> 変換処理);
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("apple");
list.add("orange");
list.add("banana");
List<String> ret = list.stream().map(s -> s.toUpperCase());//小文字から大文字に変換
}