要使用集合必须先引用命名空间,using System.Collections;
集合与数组的不同:
数组:同一类型,固定长度
集合:不同类型,不固定长度
集合主要分为六大类:普通集合,泛型集合,哈希表集合,字典集合,队列集合,栈桥集合。
定义:
ArrayList arr = new ArrayList();(普通集合,弱类型集合)
赋值:
arr.Add("值/变量"); //object类型
object类型:所有类型的基础类型(基类)
获取个数:
arr.Count;
取值:
arr[索引]
插队:
arr.Insert(索引,值/变量)
移除:
arr.Remove(值);
arr.RemoveAt(索引);
反转:
arr.Reverse(); - 全部反转
arr.Reverse(索引,个数); - 指定反转
清空:
arr.Clear();
List<T> T:泛型(强类型集合)
List<int> slist = new List<int>();
哈希表集合:弱类型
Hashtable hs = new Hashtable();
字典:强类型
Dictionary<int, string> dic = new Dictionary<int, string>();
队列集合:
Queue q=new Queue();
添内容:q.Enqueue();
取内容:q.Dequeue(); 从第一个开始往外输出。
栈桥集合:
Stack st=new Stack();
添内容:st.push();
取内容:st.pop(); 从最后一个开始往外输出。
代表习题:1、集合筛选 1-100 筛选成 50-90
namespace _2017_3_2___集合 { class Program { static void Main(string[] args) { List<int> a = new List<int>(); int i = 0; for ( i = 1; i < 101; i++) { a.Add(i); } //Console.Write(a.Count); foreach(int b in a) { if (b >= 50 && b <= 90) { Console.WriteLine(b); } } Console.ReadLine(); } } }
集合筛选 1-100 筛选成 50-90 让集合里只剩下50-90的数
namespace _2017_3_2__集合__打印50_90__2 { class Program { static void Main(string[] args) { List<int> a = new List<int>(); int i = 0; for (i = 1; i < 101; i++) { a.Add(i); } //Console.Write(a.Count); List<int> a1 = new List<int>(); foreach (int b in a) { if (b>=50 &&b <=90) { a1.Add(b); } } a = a1; a1 = null; Console.WriteLine(a.Count); Console.ReadLine(); } } }