ArrayList list = new ArrayList(); list.Add(1); list.Add("two");
Hashtable
键值对集合,键必须是 object 类型。
键必须唯一。
缺乏类型安全性。
提供了 Add, Remove, ContainsKey, ContainsValue 等方法。
示例:
Hashtable table = new Hashtable(); table.Add("key", "value");
Stack
后进先出 (LIFO) 集合。
支持 Push 和 Pop 方法。
示例
Stack
Queue
先进先出 (FIFO) 集合。
支持 Enqueue 和 Dequeue 方法。
示例:
Queue queue = new Queue(); queue.Enqueue(1); queue.Enqueue("two"); object front = queue.Dequeue(); // 1
2. System.Collections.Generic 命名空间中的集合
这个命名空间中的集合类型支持泛型,因此可以确保类型安全性。
List
动态数组,可以存储特定类型的对象。
提供了 Add, Insert, Remove, Sort, Reverse 等方法。
示例:
List numbers = new List(); numbers.Add(1); numbers.Add(2);
HashSet
用于存储唯一元素的集合。
提供了 Add, Remove, Contains 等方法。
示例:
var hashSet = new HashSet(); hashSet.Add("a"); hashSet.Add("c"); hashSet.Add("b"); hashSet.Add("a"); hashSet.Add("c"); hashSet.Add("b"); foreach (var item in hashSet) { Console.WriteLine(item); } /*输出结果 a b c */
Dictionary
键值对集合,键和值都可以是特定类型。
键必须唯一。
提供了 Add, Remove, TryGetValue, ContainsKey 等方法。
示例:
Dictionary scores = new Dictionary(); scores.Add("Alice", 90); scores.Add("Bob", 80);
SortedDictionary
键值对集合,按照键排序。
键必须唯一。
提供了 Add, Remove, TryGetValue, ContainsKey 等方法。
示例:
var sortDic = new SortedDictionary(); sortDic.Add(10, "十"); sortDic.Add(5, "五"); sortDic.Add(1, "一"); Console.WriteLine(sortDic.Keys); foreach (var item in sortDic) { Console.WriteLine($"{item.Key}~{item.Value}"); } /*输出结果 1~一 5~五 10~十 */
Queue
泛型的先进先出 (FIFO) 集合。
支持 Enqueue 和 Dequeue 方法。
示例:
var queue = new Queue(); queue.Enqueue(1); queue.Enqueue(2); queue.Enqueue(3); foreach (var item in queue) { Console.WriteLine(item); } Console.WriteLine($"dequeue元素:{queue.Dequeue()}"); /*输出结果 1 2 3 dequeue元素:1 */
Stack
泛型的后进先出 (LIFO) 集合。
支持 Push 和 Pop 方法。
示例:
var stack = new Stack(); stack.Push(1); stack.Push(2); stack.Push(3); foreach (var item in stack) { Console.WriteLine(item); } //pop元素 Console.WriteLine($"pop元素:{stack.Pop()}"); /*输出结果 3 2 1 pop元素:3 */