首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# ArrayList 去重複元素實作範例

     編輯:關於C語言

情境

使用 ArrayList 儲存字串時,需確保不重複新增。ArrayList.Contains 方法可快速判斷元素是否存在。

完整程式碼

using System;
using System.Collections;

public class ArrayListUniqueDemo
{
    public static void Main()
    {
        ArrayList list = new ArrayList();

        AddToList(list, "Table1");
        AddToList(list, "Table4");
        AddToList(list, "Table1"); // 重複,不會新增
        AddToList(list, "Table3");
        AddToList(list, "Table2");
        AddToList(list, "Table2"); // 重複,不會新增

        Console.WriteLine("列表內容(無重複):");
        foreach (string s in list)
            Console.WriteLine(s);
    }

    private static void AddToList(ArrayList list, string item)
    {
        if (!list.Contains(item))
            list.Add(item);
    }
}

執行結果

列表內容(無重複):
Table1
Table4
Table3
Table2

現代 C# 建議

  • 優先使用 List<string>:型別安全、效能更好、支援 LINQ。
  • 去重複可用 HashSet<string>(O(1) 查找)或 LINQ .Distinct()。

泛型版本範例

var set = new HashSet { "Table1", "Table4", "Table1", "Table3", "Table2", "Table2" };
// 或
var list = new List { "Table1", "Table4", "Table1", "Table3", "Table2", "Table2" }
    .Distinct()
    .ToList();

效能比較

集合類型Contains 效能適用場景
ArrayListO(n) 線性搜尋舊版 .NET 1.x 專案維護
List<T>O(n) 線性搜尋一般清單,配合 .Distinct()
HashSet<T>O(1) 雜湊查找高頻去重、大量資料
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved