C# 中的資料結構

一般型別 泛型型別 說明
ArrayList List< > 串列,以陣列實作的串列結構
Queue Queue< > 佇列,先進先出的結構
Stack Stack< > 堆疊,後進先出的結構
Hashtable Dictionary< > 雜湊表格,快速用 key 查找 value
StoredList StoredList< > 排序串列,使用排序與二分搜尋法的結構
ListDictionary Dictionary< > 字典,快速用 key 查找 value
HybridDictionary Dictionary< > 小集合採用 ListDictionary,集合變大時,會自動改用 Hashtable 的一種字典
OrderedDictionary Dictionary< > 比SortedList類別多了一些功能的類別
SortedDictionary StoredDictionary< > 鍵值一定是字串,用法跟 Hashtable 相似
NameValueCollection Dictionary< > NameValueCollection可以單一索引鍵對應多重值
DictionaryEntry KeyValPair< > 字典中的一個項目,(Key, Value) 的結構
StringCollection List<String> 用法跟ArrayList相似
StringDictionary Dictionary<String> 字串字典

上層結構

  1. Collection

容器物件

  1. Array
  2. ArrayList
  3. HashTable
  4. SortedList

位元容器

  1. BitArray
  2. BitVector32

泛型容器

  1. NameValueCollection
  2. Dictionary

範例:

using System;
using System.Collections;
using System.Collections.Generic;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            ArrayList a = new ArrayList();
            a.Add("John");
            a.Add(1);
            a.Add(3.1416);
            a.RemoveAt(2);
            Object[] array = a.ToArray();
            Console.WriteLine(array);
            List<Object> list = new List<Object>();
            list.Add("John");
            list.Add("Mary");
            list.Add("George");
            list.Add("3.14159");
            list.Add(3.14159);
            foreach (Object o in list)
                Console.Write(o+" ");
            Console.WriteLine();
            char c = 'A';
//            Console.Write("{0:X}", (int) c);
            Hashtable h = new Hashtable();
            h.Add("John", "0977332415");
            h.Add("Mary", "0977342415");
            h.Add("George", "0977372416");
            h.Add("Peter", "0977332425");
            String gtel = (String) h["George"];
            Console.WriteLine("George Tel : "+gtel);
            Dictionary<String, String> d = new Dictionary<string, string>();
            d.Add("John", "0977332415");
            d.Add("Mary", "0977342415");
            d.Add("George", "0977372416");
            d.Add("Peter", "0977332425");
            gtel = d["George"];
            Console.WriteLine("George Tel : " + gtel);
        }
    }
}
	

文章來源:陳鍾誠 (2010年06月10日),(網頁標題) C# 中的資料結構,(網站標題) 免費電子書:C# 程式設計,2010年06月10日,取自 http://cs0.wikidot.com/datastructure ,網頁修改第 11 版。




arrow
arrow

    Johnson峰 發表在 痞客邦 留言(0) 人氣()