首頁 > 後端開發 > C++ > 如何有效率地合併兩個清單、去重、保持順序?

如何有效率地合併兩個清單、去重、保持順序?

Mary-Kate Olsen
發布: 2024-12-27 05:54:13
原創
884 人瀏覽過

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

合併列表以獲得串聯結果

在這種情況下,您有兩個字符串列表(或任何任意類型),並且希望在保持原始字符串的同時快速組合它們指令。此外,您希望消除合併清單中的任何重複條目。儘管研究了這個主題,但您還沒有找到一個簡單的解決方案,並且更願意避免實作複雜的介面。

一種有效的方法是使用 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 轉換為列表。

以上是如何有效率地合併兩個清單、去重、保持順序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板