ホームページ > バックエンド開発 > C++ > あるリストから別のリストに存在する項目を効率的に削除するにはどうすればよいですか?

あるリストから別のリストに存在する項目を効率的に削除するにはどうすればよいですか?

DDD
リリース: 2025-01-13 14:21:44
オリジナル
505 人が閲覧しました

How Can I Efficiently Remove Items from One List That Exist in Another?

別のリストから項目を削除します

質問:

項目の一般的なリストをループして、別の項目のリストからそれらを削除するにはどうすればよいですか?

シーン:

次の仮定の例を考えてみましょう:

<code>List<汽车> list1 = GetTheList();
List<汽车> list2 = GetSomeOtherList();</code>
ログイン後にコピー

目標は、foreach ループを使用して list1 を反復処理し、list2 にも存在する項目をすべて削除することです。ただし、foreach ループはインデックスベースのメソッドを提供しません。

答え:

これを実現するには、Except メソッドを使用します。

<code>List<汽车> result = list2.Except(list1).ToList();</code>
ログイン後にコピー

これにより、list1 に存在しない list2 の項目を含む新しいリスト結果が作成されます。 Except メソッドは元のリストを変更しません。

最適化:

コードをさらに最適化するには、一時変数の必要性を排除できます。

<code>List<汽车> result = GetSomeOtherList().Except(GetTheList()).ToList();</code>
ログイン後にコピー

Except は計算された差分を含む新しいリストを返すため、list1 や list2 は変更されないことに注意することが重要です。

以上があるリストから別のリストに存在する項目を効率的に削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート