LoginSignup
1
0

More than 3 years have passed since last update.

【Java】Stream API 中間操作

Posted at

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());//小文字から大文字に変換
}
1
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
1
0