【unity3d-C#学习笔记】C#中常用的数据结构及遍历方法

来源:互联网 发布:51单片机怎么烧程序 编辑:程序博客网 时间:2024/06/04 19:41

常用的集合类:ArrayList,Queue,Stack,SortedList,Hashtable

数组:
Array:
1.数据存储在连续的内存上。
2.数组的语速都是同类型的。
3.数组可以通过下标访问
ArrayList
1.不必声明指定时的长度
2.可以存储不用类型的元素
3.ArrayList是类型不安全的。
4.数组存储值类型是会发生装箱拆箱操作,因此会产生额外的性能开销,导致性能下降。
List
1.确保了类型安全
2.取消了装箱和拆箱操作
3.融合了Array可以快速访问的特点
数组适合数据的数量又上线,且需要快速访问其元素内容的情况。
链表适合元素数量不固定且需要经常增删结点的情况。
一、ArrayList
特点:有序的对象列表、大小不固定、按照索引访问。
1.当存储容量不足时,按照2的幂次规律扩容;
2.可以存储不同类型的元素
ArrayList list =new ArrayList();

//使用foreach进行遍历foreach(int num inlist){Console.WriteLine(num+” “);}//或者使用for循环和索引来进行遍历for(int i;i<list.Count;i++){Console.WriteLine(list[i]+” “);}

注意:ArrayList的Capacity属性表示容量,而Count属性表示其中容纳元素的实际数目。

二、Queue
特点:先进先出的对象集合(FIFO)。
遍历方法:
Queue q=new Queue();
IEnumerator myEnumerat = q.GetEnumerator();//获取能循环访问队列枚举数的IEnumerator接口实例
while(myEnumerator.MoveNext())
{
Console.Write(myEnumerator.Current+” “);
}
注意:
当Queue内容发生变化时,需要重新获取IEnumerator接口实例。
三、Stack
特点:先进后出的对象集合(LIFO)。
遍历方法:同Queue遍历方法
四、SortedList
特点:键/值对的集合,存入的元素会自动按照键排序,可以按照键或者索引访问
Hashtable(key,object)元素的集合,按照键的哈希代码组织,通过key可以访问到指定的元素。

Hashtable ht=new Hashtable();//获取键:foreach(string key in ht.Keys){Console.Write(key+” \t“);}//获取值:foreach(string value in ht.Values){Console.Write(value+”\t “);}//如果希望同时获得键和值,可以根据Hashtable的元素类型为DictionaryEntry来获得。foreach(DictionaryEntry de in ht){Console.WriteLine(“\t{0}       \t{1}”,de.Key,de.Value);}
0 0
原创粉丝点击