【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);}
- 【unity3d-C#学习笔记】C#中常用的数据结构及遍历方法
- C#中遍历TreeView的两个常用方法
- C#中遍历TreeView的两个常用方法
- C#中遍历TreeView的两个常用方法
- C#中 常用的方法
- Unity3d C# 脚本学习小结(二) 【常用方法】
- C#中连接数据库常用的类文件及方法
- 黑马程序员--学习笔记--对C#常用方法的总结
- C#中不常用的数据结构
- C#中不常用的数据结构
- C#中checkbox的遍历方法
- Unity3D中常用js脚本的C#版
- Unity3D学习笔记(二):C#学习
- C#学习笔记 常用的集合
- C#学习笔记---方法
- Unity3D学习笔记(三)Unity的C#基础
- setTimeout和setInterval的区别及用法、C#中遍历Hashtable对象[哈希表]的3种方法【遍历Hashtable】
- C#中常用处理字符串的方法
- Java中的多线程(一)关于线程的基本操作
- lua面试题:热更新简介、原理及示例
- NIO中注册channel注册多个感兴趣事件-位运算符“或”的使用
- Java设计模式之工厂模式(利用反射实现)
- C++ 笔试题简单练习----求N 以内质数 和 计算多少对质数等于N
- 【unity3d-C#学习笔记】C#中常用的数据结构及遍历方法
- Linux环境下安装python3
- 虚拟机实现代码
- 表达式计算——by Java
- 简单的GCC语法: 弄清gcc test.c 与 gcc -c test.c 的差别
- Floyd Dijkstra Bellman-Ford spfa 四种最短路经典算法汇总 HDU 2544为例
- Java中CAS详解-待学习的任务
- 7. Reverse Integer Add to List★
- Activity的四种启动模式简介