JavaでbeanクラスのStreamを使って、ある値に当てはまるbeanを返す処理を書きたいです。 例えば下記のようなクラスがあり、 class HumanBean {
JavaでbeanクラスのStreamを使って、ある値に当てはまるbeanを返す処理を書きたいです。 例えば下記のようなクラスがあり、 class HumanBean { //セッター・ゲッター省略 private String id; private String name; private String age; } このHumanBeanクラスのリストがあったときにあるIDの時のbeanが取得できる処理を書きたいです。for文の書き方はわかるので、Streamを使った処理が知りたいです。よろしくお願いいたします。
たとえばidが01のビーンを取得したいときfor文で書くと以下のような感じになると思います。 String id =“01”; HumanBean taro = null; for(HumanBean hoge : HumanBeanList){ if (id.equals(hoge.getId())){ taro = hoge; break; } } taroに入ってるbeanはidが01のbeanになります。これをStreamで書きたいです。
ベストアンサー
String id =“01”; HumanBean taro = HumanBeanList.stream() .filter(hoge -> id.equals(hoge.getId())) .findFirst().orElse(null);
質問者からのお礼コメント
迅速な回答をいただき誠にありがとうございました。とても助かりました。
お礼日時:1/27 18:40