[解決済み] Javaコレクションをフィルタリングする方法(述語に基づく)?
2022-03-14 16:44:58
質問
をフィルタリングしたいのですが
java.util.Collection
を述語にしたものです。
どのように解決するのですか?
Java 8 ( 2014 ) は、ストリームとラムダを使ってこの問題を1行のコードで解決しています。
List<Person> beerDrinkers = persons.stream()
.filter(p -> p.getAge() > 16).collect(Collectors.toList());
ここでは チュートリアル .
使用方法
Collection#removeIf
を使用すると、その場でコレクションを変更できます。(注意 この場合、述語は述語を満たすオブジェクトを削除することになる)。
persons.removeIf(p -> p.getAge() <= 16);
ラムダージ ループやインナークラスを書かずにコレクションをフィルタリングすることができます。
List<Person> beerDrinkers = select(persons, having(on(Person.class).getAge(),
greaterThan(16)));
もっと読みやすいものを想像できますか?
免責事項です。 私はlambdajのコントリビューターです。
関連
-
undefinedeclipse エラー。この行に複数のアノテーションが見つかりました: - 文字列を型解決に解決できない
-
javaコンパイル時のエラー:不正な文字 '\ufeff' に対する解決策です。
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] JavaでArrayListではなくLinkedListを使用するのはいつですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] Java で、あるコンストラクタを別のコンストラクタから呼び出すにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
スタイルシートとして解釈されるリソースが、MIMEタイプtext/htmlで転送される。
-
springboot project MIMEタイプ text/htmlで転送された静的ファイルを読み込む。
-
undefinedeclipse エラー。この行に複数のアノテーションが見つかりました: - 文字列を型解決に解決できない
-
Eclipseで "XXXX "の解決策を(型に)解決することができない
-
JavaMailのメール送信が失敗するケースとその説明の分析
-
スレッド "main" での例外 java.lang.ArrayIndexOutOfBoundsException: 1
-
linux run jarfile Invalid or corrupt jarfile error.
-
javaでよく使われる英単語
-
Eclipse起動エラー:javaは起動したが、終了コード=1を返した(ネット上の様々な落とし穴)
-
SocketTimeoutExceptionです。読み込みがタイムアウトしました