C# 集合类自己经常用到: 数组(Array)、动态数组(ArrayList)、列表(List)、哈希表(Hashtable)、字典(Dictionary),对于经常使用的这些数据结构,做一个总结,便于以后备忘使用。
1 所在命名空间
using System.Collections.Generic;
using System.Collections;
2 ArrayList
ArrayList的长度可动态变化,每个元素都是Object类型,主要运用 数据初始化,增查改删,复制,排序,倒序。
2.1 初始化
//三种不同的初始化方法,重载方法
//创建不同副本,zd10-01
//空的arraylist,ArrayList()
ArrayList arr1 = new ArrayList();
//创建容量为5,ArrayList(int capacity)
ArrayList arr2 = new ArrayList(5);
//5个元素 ,ArrayList(ICollection c)
int[] ary = { 0,1,2,3,4};
ArrayList arr3 = new ArrayList(ary);
2.2 遍历
private void NavagateArrayList(ArrayList arrlst)
{
foreach(object obj in arrlst)
{
MessageBox.Show(obj.ToString());
}
}
2.3增查改删
//zd10-01
常用属性
count,Item,IsFixedSize,IsReadOnly
方法
增:
Add,AddRange,SetRange,InsertRange;
//例
ArrayList arr1 = new ArrayList();
//从0开始
arr1.Add("Head");
int[] ar={1,2,3};
arr1.AddRange(ar);
arr1.Add("Tail");
//在索引1的位置插入”index1“
arr1.Insert(1,”index1“);
string[] strary={"index2","index3"};
//插入数组
arr1.InsertRange(2,strary);
//遍历
NavagateArrayList(arr1);
删:
Clear,Remove,RemoveAt,RemoveRange
//删除最后一个元素,Tail
arr1.Remove("Tail");
arr1.RemoveAt(1);
//arr1.Clear();
搜索:
IndexOf,LastIndexOf,BinarySearch
//返回指定元素在数组中第一次出现的索引
int index =arr3.IndexOf(3);
int lindex =arr3.LastIndexOf(3);
排序:
Sort,Reverse
arr1.Sort();
NavagateArrayList(arr1);
//倒序
arr1.Reverse();
NavagateArrayList(arr1);
创建副本:
CopyTo,ToArray,GetRange,ReadOnly,FixedSize
其他:
TrimToSize,ToString.....and so on
//请看懂再转载,防止百度上搜索的答案一模一样浪费生命