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

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

DDD
DDDオリジナル
2025-01-13 14:33:43121ブラウズ

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

あるリストから別のリストに存在する項目を削除します

タスクは、汎用リストから反復処理を行い、別のリストに含まれる項目を削除することです。次の仮定のシナリオを考えてみましょう:

<code>List<car> list1 = GetTheList();
List<car> list2 = GetSomeOtherList();</code>

目標は、foreach ループを使用して list1 を反復処理し、list2 にも存在する項目をすべて削除することです。ただし、foreach ループはインデックスベースではないため、タスクが複雑になります。

Except メソッドを使用した解決策

この課題に対処するには、Except メソッドを使用して、あるリストから別のリストに存在する項目を除外します。

<code>List<car> result = list2.Except(list1).ToList();</code>

これにより、list1 に存在しない list2 の項目を含む新しいリスト結果が作成されます。一時変数を削除してコードを簡素化することもできます:

<code>List<car> result = GetSomeOtherList().Except(GetTheList()).ToList();</code>

Except は元のリストを一切変更せずに新しいリストを生成することに注意することが重要です。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。