Java8のStream API findFirstメソッドで一番最初の要素を取得する

Java8のStream API findFirstメソッドで一番最初の要素を取得する

findFirstメソッドで最初に取得できた要素を取得します。

Employeeクラスがあるとします。

public class Employee {
private String name;
private int age;
public Employee(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}

view raw
Employee
hosted with ❤ by GitHub

Employeeのリストを作成して、一番最初の要素をfindFirstメソッドで取得します。findFirstメソッドの戻り値はOptional<T>です。

ifPresentメソッドはConsumerを引数に取り、要素が存在する場合のみConsumerをその要素で呼び出してくれます。

empに要素が存在しない場合、Consumerは動作しません。Consumerのacceptメソッドは引数が一つあり、戻り値がありません。

関数型インタフェースConsumer

findFirstメソッドのほかにfindAnyメソッドがあります。

以下はOptionalクラスのifPresentメソッドです。valueがnullでなければConsumer#acceptメソッドが実行されます。nullの場合acceptメソッドが呼ばれないようになっています。

Java8のStream API findAnyメソッドで任意の要素を取得する

  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA