ホームページ > バックエンド開発 > C++ > 2 つのリストを効率的に結合し、重複を削除し、順序を維持するにはどうすればよいですか?

2 つのリストを効率的に結合し、重複を削除し、順序を維持するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-27 05:54:13
オリジナル
883 人が閲覧しました

How Can I Efficiently Merge Two Lists, Removing Duplicates, and Maintaining Order?

連結結果のリストの結合

このシナリオでは、文字列 (または任意の型) の 2 つのリストがあり、元の文字列を維持しながらそれらを迅速に結合したいと考えています。注文。さらに、マージされたリスト内の重複エントリをすべて削除したいと考えています。このトピックを調査したにもかかわらず、あなたは単純な解決策を特定しておらず、複雑なインターフェイスの実装を避けたいと考えています。

効果的なアプローチの 1 つは、AddRange メソッドを使用することです。

List<string> a = new List<string>();
List<string> b = new List<string>();

a.AddRange(b);
ログイン後にコピー

このアプローチでは、次の順序が維持されます。両方のリストの要素を追加し、b の内容を a に転送します。ただし、重複は削除されません。

重複の問題に対処する代替オプションは、Union メソッドです。

var newList = a.Except(b).ToList();
ログイン後にコピー

この行は、重複を除いて、a と b の要素を結合します。結果は、newList という名前の新しいリストに保存されます。

最後に、元のリストを維持する必要がある場合は、Concat メソッドを利用できます。

var newList = a.Concat(b);
ログイン後にコピー

この操作により、IEnumerable オブジェクトが生成されます。 。両方のリストを反復処理し、それらの要素を出現順に順次生成します。出力としてリストが必要な場合は、ToList メソッドを使用して IEnumerable をリストに変換できます。

以上が2 つのリストを効率的に結合し、重複を削除し、順序を維持するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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