长春模板网站建站五种营销工具
文章目录
- Array
- ArrayList
- List`<T>`
- HashSet
- HashTable
- Dictionary<K,T>
- Queue
- Stack
Array
keyword:连续存储、相同类型、快速访问、慢速增删、长度不变、下标访问
常用方法示例:
void Main()
{int[] intArray = new int[]{1,2,3,4,5,6,8,7};//Length获取数组长度Console.WriteLine("Length获取数组长度:");int length=intArray.Length;Console.WriteLine(length);//IndexOf获取值的索引Console.WriteLine("IndexOf获取值的索引:");int index=Array.IndexOf(intArray,4);Console.WriteLine(index);//foreach遍历数组Console.WriteLine("foreach遍历数组:");foreach(int i in intArray){Console.Write(i+" ");}Console.WriteLine("");//Reverse逆转数组Console.WriteLine("Reverse逆转数组:");Array.Reverse(intArray);foreach (int i in intArray){Console.Write(i+" ");}Console.WriteLine("");//Sort排序数组Array.Sort(intArray);Console.WriteLine("Sort排序数组");foreach (int i in intArray){Console.Write(i + " ");}
}
Length获取数组长度:
8
IndexOf获取值的索引:
3
foreach遍历数组:
1 2 3 4 5 6 8 7
Reverse逆转数组:
7 8 6 5 4 3 2 1
Sort排序数组
1 2 3 4 5 6 7 8
ArrayList
keyword:连续存储、不同类型、快速读取、慢速增删、长度可变、索引访问
常用方法示例:
void Main()
{ArrayList arrayList1 = new ArrayList(5);ArrayList arrayList2 = new ArrayList() {1,2,3,4,5};Console.WriteLine("Count集合元素个数:");int number = arrayList2.Count;Console.WriteLine(number);Console.WriteLine("Add添加元素:");arrayList1.Add(1);arrayList1.Add("love");arrayList1.Add(2);foreach(var i in arrayList1){Console.Write(i+" ");}Console.WriteLine("");Console.WriteLine("AddRange在末尾添加一个ArrayList:");arrayList1.AddRange(arrayList2);foreach (var i in arrayList1){Console.Write(i + " ");}Console.WriteLine("");Console.WriteLine("Insert指定插入&RemoveAt指定删除:");arrayList1.Insert(0,100);arrayList1.RemoveAt(2);foreach (var i in arrayList1){Console.Write(i + " ");}Console.WriteLine("");
}
Count集合元素个数:
5
Add添加元素:
1 love 2
AddRange在末尾添加一个ArrayList:
1 love 2 1 2 3 4 5
Insert指定插入&RemoveAt指定删除:
100 1 2 1 2 3 4 5
List<T>
ArrayLIst的泛型类,连续存储、长度可变
常用方法示例:
void Main()
{List<int> intList = new List<int>() { 1, 2, 3, 4, 5 };Console.WriteLine("Add添加元素:");intList.Add(1);intList.Add(2);foreach (var i in intList){Console.Write(i + " ");}Console.WriteLine("");Console.WriteLine("Remove删除第一个匹配的项:");intList.Remove(1);foreach (var i in intList){Console.Write(i + " ");}Console.WriteLine("");Console.WriteLine("Contains具体元素是否在列表中:");bool flag=intList.Contains(2);Console.WriteLine(flag);Console.WriteLine("Exists满足条件的元素是否在列表中:");bool flag2 = intList.Exists(n=>n%2==0);Console.WriteLine(flag2);
}
Add添加元素:
1 2 3 4 5 1 2
Remove删除第一个匹配的项:
2 3 4 5 1 2
Contains查看某项是否在列表中:
True
Exists某项是否在列表中:
True
HashSet
keyword:没有重复、允许null、无序、线程不安全
常用方法示例:
void Main()
{HashSet<String> hash1=new HashSet<string>();Console.WriteLine("Add添加元素:");hash1.Add("hello");hash1.Add("world");hash1.Add("bro");foreach(String h in hash1){Console.Write(h+" ");}Console.WriteLine("");Console.WriteLine("Contains判断元素是否存在:");bool flag=hash1.Contains("hello");Console.WriteLine(flag);Console.WriteLine("Remove删除元素:");hash1.Remove("hello");foreach (String h in hash1){Console.Write(h+" ");}Console.WriteLine("");Console.WriteLine("Size计算大小:");int number = hash1.Count();Console.WriteLine(number);
}
Add添加元素:
hello world bro
Contains判断元素是否存在:
True
Remove删除元素:
world bro
Size计算大小:
2
HashTable
keyword:线程安全
常用方法示例:
void Main()
{Hashtable table1=new Hashtable();Console.WriteLine("Add添加元素:");table1.Add(1,"hello");table1.Add(2,"world");table1.Add(3,"bro");Console.WriteLine("遍历键keys");foreach (int k in table1.Keys){Console.Write(k + " ");}Console.WriteLine("");Console.WriteLine("遍历值value");foreach (String v in table1.Values){Console.Write(v + " ");}Console.WriteLine("");Console.WriteLine("Contains判断元素是否存在:");bool flag = table1.Contains("hello");Console.WriteLine(flag);Console.WriteLine("Remove删除key:");table1.Remove(1);foreach (DictionaryEntry t in table1){Console.Write(t + " ");}Console.WriteLine("");
}
Add添加元素:
遍历键keys
3 2 1
遍历值value
bro world hello
Contains判断元素是否存在:
False
Remove删除key:
[3, bro] [2, world]
Dictionary<K,T>
有序的、唯一的
void Main()
{Dictionary<int, string> myDictionary = new Dictionary<int, string>();Console.WriteLine("Add添加元素:");myDictionary.Add(1, "hello");myDictionary.Add(2, "good");myDictionary.Add(3, "boy");foreach (KeyValuePair<int,string> t in myDictionary){Console.WriteLine(t.Key + t.Value );}Console.WriteLine("遍历键keys");foreach (int k in myDictionary.Keys){Console.Write(k + " ");}Console.WriteLine("");Console.WriteLine("遍历值value");foreach (String v in myDictionary.Values){Console.Write(v + " ");}Console.WriteLine("");Console.WriteLine("查找key");if (myDictionary.ContainsKey(2)){Console.WriteLine(myDictionary[2]);}Console.WriteLine("");
}
Add添加元素:
1hello
2good
3boy
遍历键key
1 2 3
遍历值value
hello good boy
查找key
good
Queue
keyword:先进先出
常用方法示例:
void Main()
{Queue queue = new Queue();Console.WriteLine("Enqueue添加元素到队尾:");queue.Enqueue('A');queue.Enqueue('B');queue.Enqueue('C');Console.WriteLine("foreach遍历队列:");foreach (char c in queue)Console.Write(c + " ");Console.WriteLine();Console.WriteLine("Dequeue移除开头元素 ");char ch = (char)queue.Dequeue();Console.WriteLine(ch);Console.WriteLine("ToArray复制Queue到一个新的数组中");Object[] queue1= (Object[])queue.ToArray();foreach (char c in queue1)Console.Write(c + " ");
}
Enqueue添加元素到队尾:
foreach遍历队列:
A B C
Dequeue移除开头元素
A
ToArray复制Queue到一个新的数组中
B C
Stack
keyword:先进后出
常用方法示例:
void Main()
{Stack stack = new Stack(5);Console.WriteLine("Push入栈:");stack.Push('A');stack.Push('B');stack.Push('C');Console.WriteLine("foreach遍历栈:");foreach (char c in stack)Console.Write(c + " ");Console.WriteLine();Console.WriteLine("Pop出栈:");char ch = (char)stack.Pop();Console.WriteLine(ch);Console.WriteLine("Top查看栈顶:");char ch2 = (char)stack.Peek();Console.WriteLine(ch2);
}
Push入栈:
foreach遍历栈:
C B A
Pop出栈:
C
Top查看栈顶:
B