[解決済み] 一方のリストに他方のリストが含まれているかどうかを確認する
2022-05-09 10:46:53
質問
異なるオブジェクトが含まれる2つのリストがあります。
List<Object1> list1;
List<Object2> list2;
リスト1の要素がリスト2に存在するかどうかを、特定の属性に基づいてチェックしたい(オブジェクト1とオブジェクト2は、attributeSameという名前の1つの相互属性(Longタイプ)を(とりわけ)持っています)。
今、私はこのようにやっています。
boolean found = false;
for(Object1 object1 : list1){
for(Object2 object2: list2){
if(object1.getAttributeSame() == object2.getAttributeSame()){
found = true;
//also do something
}
}
if(!found){
//do something
}
found = false;
}
しかし、私はこれを行うためのより良い、より速い方法があると思います :) どなたか提案していただけませんか?
ありがとうございます。
解決方法は?
基本的な等質性をテストするだけなら、入力リストを修正することなく、基本的なJDKで一行で可能です
!Collections.disjoint(list1, list2);
特定のプロパティをテストする必要がある場合、それはより困難です。 私は、デフォルトで、お勧めします。
list1.stream()
.map(Object1::getProperty)
.anyMatch(
list2.stream()
.map(Object2::getProperty)
.collect(toSet())
::contains)
...この値は
list2
の各値をテストし
list1
が存在するかどうかを確認します。
関連
-
[解決済み] リスト内のアイテムのインデックスを検索する
-
[解決済み] リストが空かどうかを確認するにはどうすればよいですか?
-
[解決済み] Pythonのリストメソッドであるappendとextendの違いは何ですか?
-
[解決済み] リストの最後の要素を取得する方法
-
[解決済み] 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 実装 サイバーパンク風ボタン
おすすめ
-
jd-gui Java Exceptionが発生しました。
-
final, finally, finalizeの違いについて話してください。
-
スキャナは、タイプに解決することはできません最もルーキー初心者の質問
-
プロローグでのコンテンツは禁止されています
-
JavaMailのメール送信が失敗するケースとその説明の分析
-
サーブレットクラスのインスタンス化エラーの解決法
-
Methodのinvokeメソッド実装のJavaリフレクション
-
javaでクラスを作成すると、enclosing classでないように見える
-
このラインで複数のマーカーを解決する方法
-
Google Chromeのエラー「Not allowed to load local resource」の解決策について