1.數組的大小是固定的,不能縮放。雖然通用方法系統。Array.Resize可以重置數組大小,
但是,此方法用新設置的大小重新創建數組,並用舊數組的元素對其進行初始化。那麽之前的陣就要廢棄了!而該組的長度是可變的。
2.數組想要聲明元素的類型,但是集合類的元素類型是object。
3.數組可以讀寫,只讀數組不能聲明。集合類可以提供只讀方法,以只讀方式使用集合。
4.數組必須有整數下標才能訪問特定的元素,但是很多時候這樣的下標並不是很有用。集合也是數據列表,但不使用下標訪問。
很多時候集合都有自定義的下標類型,隊列和棧根本不支持下標訪問!
//數組
int[]int array 1;
//初始化聲明的壹維數組。
int array 1 = new int[3];
int array 1 = new int[3]{ 1,2,3 };
int array 1 = new int[]{ 1,2,3 };
//ArrayList類對象設計為動態數組類型,其容量會根據需要適當擴展。
方法
1: add()向數組中添加壹個元素。
2: remove()刪除數組中的壹個元素。
3: remove at (int I)刪除數組中索引值為I的元素。
4: reverse()反轉數組的元素。
5: sort()將數組的元素從小到大排列。
6: clone()復制壹個數組。
//列表
可通過索引訪問的強類型對象列表。提供搜索、排序和操作列表的方法。
當決定是使用List還是ArrayList類(兩者的功能相似)時,請記住List類在大多數情況下性能更好,並且是類型安全的。如果對List類的類型t使用引用類型,那麽
這兩個類的行為完全相同。但是,如果對類型T使用值類型,則需要考慮實現和打包問題。
如果值類型用於類型t,編譯器將專門為該值類型生成List類的實現。這意味著list對象的List元素可以在不裝箱的情況下使用,並且正在創建大約500個列表。
元素,不裝箱列表元素節省的內存將大於用於生成該類實現的內存。
//字典
表示鍵和值的集合。Dictionary遍歷輸出的順序就是它被添加的順序,這與Hashtable不同。
//SortedList類
與哈希表類似,不同之處在於SortedList中的鍵數組是有序的。
//哈希表類
哈希表,名稱-值對。類似於字典(比數組更強大)。哈希表被優化,訪問下標的對象首先被哈希。如果您使用任何類型的鍵值訪問它的元素,它將比其他集合更快。
GetHashCode()方法返回壹個int類型的數據,這個鍵的值用來生成int類型的數據。哈希表獲得這個值,並最終返回壹個索引,指示具有給定哈希的數據項在字典中的存儲位置。
//堆棧類
堆棧,後進先出。Push方法進入堆棧,pop方法退出堆棧。
隊列類別
排隊,先進先出。enqueue方法進入隊列,dequeue方法退出隊列。
-
//字典
系統。collections . dictionary entry DIC =新系統。collections . dictionary entry(" key 1 "," value 1 ");
字典& ltint,string & gt水果=新詞典& ltint,string & gt();
//添加重復的鍵會引發異常。
水果。加(1,“蘋果”);
水果。加(2,“橙”);
水果。加(3,“香蕉”);
水果。加(4,“菠蘿”);