++数组的局限性:数组只能存储相同类型的数据
int[] intArray = newint[2];
intArray[0] = 1;
intArray[1] = 2;
intArray[2] =“卧底”; //报错类型不匹配
++集合的类型
++++泛型集合与非泛型集合。
--泛型集合类一般位于System.Collections.Generic名称空间。
--非泛型集合类位于System.Collections名称空间。
此外,System.Collections.Specialized名称空间中也包含一些有用的集合类。
++非泛型集合
++++下面是各种常用的System.Collection命名空间的类:
++++++动态数组(ArrayList):它代表了可被单独索引的对象的有序结合。它基本上可以替代一个数组。但是,与数组不同的是,您可以使用索引在指定的位置添加和移除项目,动态数组会自动重新调整它的大小。它也允许在列表中进行动态内存分配、增加、搜索、排序各项。
++++++堆栈(Stack):它代表了一个后进先出的对象集合。当您需要对各项进行后进先出的访问时,则使用堆栈。当您在列表中添加一项,称为推入元素,当您从列表中移除一项,称为弹出元素。
++++++队列(Queue):它代表了一个先进先出的对象集合。当您需要对各项进行先进先出的访问时,则使用队列。当您在列表中添加一项,称为入队,当您从列表中移除一项时,称为出队。
++++++哈希表(HashTable):它使用键来访问集合中的元素。当您使用键访问元素时,则使用哈希表,而且您可以识别一个有用的键值。哈希表中的每一项都有一个键/值对。 键用于访问集合中的项目。
++泛型集合
++++下面是各种常用的System.Collection.Generic命名空间的类。
++++++Dictionary
++++++List
++++++Stack
++++++Queue
++ArrayList动态数组
++++1、动态的增加和减少元素
++++2、实现了ICollection和IList和IEnumerable接口。
++++3、灵活的设置数组的大小。
++++4、不安全的集合类型。
++++5、其元素为值类型时,效率不高(装箱和拆箱耗性能)
++++ArrayList常用方法与描述
-- Add() 将对象添加到ArrayList的结尾处
-- Insert() 将元素插入ArrayList的指定索引处
-- Remove() 从ArrayList中移除特定对象的第一个匹配项
-- RemoveAt() 移除ArrayList的指定索引处的元素
-- Reverse() 将整个ArrayList当中元素的顺序反转
-- Contains() 确定某元素是否在ArrayList中
-- Clear() 从ArrayList中移除所有元素
++List
++++1、List类是ArrayList列的泛型等效类。
++++2、同样继承了IList接口,IEnumrator接口和ICollection。
++++3、与ArrayList不同的是,声明集合时需要声明集合内部的数据类型,即T的类型。
++++4、安全的集合类型。
++++5、某种情况时,在处理值类型时其处理速度比ArrayList快的多。
++++List
-- Add() 将对象添加到List
-- Insert() 将元素插入List
-- Remove() 从List
-- RemoveAt() 移除List
-- Reverse() 将整个List
-- Contains() 确定某元素是否在List
-- Clear() 从List
-- IndexOf(T) 搜索指定对象,并返回整个List
++常见集合和列表实现接口
++++IEnumerator
++++ICollection
++++IList
++++IDictionary
++堆栈(Stack)
++++1、后进先出(LIFO)的一种数据结构,本质上堆栈也是一种线性结构。
++++2、线性结构的基本特点: 即每个节点有且只有一个前驱节点和一个后续节点。
++++3、随着像Stack中添加元素,容量通过重新分配按需自动增加。
++++4、可以接受null作为有效值。
++++5、允许重复的元素。
++++6、不安全的数据结构。
++++7、其泛型为Stack
++++Stack常用方法与描述
-- Push() 将对象插入Stack的顶部(入栈操作)。
-- Pop() 移除并返回Stack顶部的对象(出栈操作)。
-- Peek() 返回位于stack顶部的对象,但不移除。
-- Contains() 确定某元素是否在栈中。
-- Clear() 从stack中移除所有对象。
-- Count() 获取栈中包含的元素个数。
++队列(Queue)
++++1、先进先出(FIFO)的一种数据结构。
++++2、随着向Queue中添加元素,容器通过重新分配按需自动增加,可以通过TrimToSize来减少容量。
++++3、可以接受null作为有效值。
++++4、允许重复的元素。
++++5、不安全的数据结构。
++++6、其泛型为Queue
++++7、在A*算法中会用优先级队列处理路径节点。
++++Queue常用方法与描述
-- Enqueue() 将对象添加到Queue的结尾处,入队。
-- Dequeue() 移除并返回位于Queue开始处的对象。
-- Peek() 返回位于Queue开始处的对象但不将其移除。
-- Contains() 确定某元素是否在Queue中。
-- Clear() 从Queue中移除所有对象。
-- Count() 获取Queue中包含的元素个数
++HashTable(哈希表)
++++1、处理和表现类似key-value的键值对的集合。
++++2、key值必须唯一,区分大小写。
++++3、Value可以是变量,也可以是对象。
++++HashTable常用方法与描述:
-- Add() 将指定的键和值添加到哈希表中。
-- Clear() 从Hashtable中移除所有的元素。
-- ContainsKey() 判断Hashtable是否包含指定的键。
-- ContainsValue() 判断Hashtable是否包含指定的值。
-- Remove() 从Hashtable中移除带有指定的键的元素。
-- Keys() 获取一个ICollection,包含Hashtable中的键。
-- Values() 获取一个ICollection,包含Hashtable中的值。
#立钻哥哥Unity 学习空间: http://blog.csdn.net/VRunSoftYanlz/
++立钻哥哥推荐的拓展学习链接(Link_Url):
++++立钻哥哥Unity 学习空间: http://blog.csdn.net/VRunSoftYanlz/
++++C#事件:https://blog.csdn.net/vrunsoftyanlz/article/details/78631267
++++C#委托:https://blog.csdn.net/vrunsoftyanlz/article/details/78631183
++++C#集合:https://blog.csdn.net/vrunsoftyanlz/article/details/78631175
++++C#泛型:https://blog.csdn.net/vrunsoftyanlz/article/details/78631141
++++C#接口:https://blog.csdn.net/vrunsoftyanlz/article/details/78631122
++++C#静态类:https://blog.csdn.net/vrunsoftyanlz/article/details/78630979
++++C#中System.String类:https://blog.csdn.net/vrunsoftyanlz/article/details/78630945
++++C#数据类型:https://blog.csdn.net/vrunsoftyanlz/article/details/78630913
++++Unity3D默认的快捷键:https://blog.csdn.net/vrunsoftyanlz/article/details/78630838
++++游戏相关缩写:https://blog.csdn.net/vrunsoftyanlz/article/details/78630687
++++Unity引擎基础:https://blog.csdn.net/vrunsoftyanlz/article/details/78881685
++++Unity面向组件开发:https://blog.csdn.net/vrunsoftyanlz/article/details/78881752
++++Unity物理系统:https://blog.csdn.net/vrunsoftyanlz/article/details/78881879
++++Unity2D平台开发:https://blog.csdn.net/vrunsoftyanlz/article/details/78882034
++++UGUI基础:https://blog.csdn.net/vrunsoftyanlz/article/details/78884693
++++UGUI进阶:https://blog.csdn.net/vrunsoftyanlz/article/details/78884882
++++UGUI综合:https://blog.csdn.net/vrunsoftyanlz/article/details/78885013
++++Unity动画系统基础:https://blog.csdn.net/vrunsoftyanlz/article/details/78886068
++++Unity动画系统进阶:https://blog.csdn.net/vrunsoftyanlz/article/details/78886198
++++Navigation导航系统:https://blog.csdn.net/vrunsoftyanlz/article/details/78886281
++++Unity特效渲染:https://blog.csdn.net/vrunsoftyanlz/article/details/78886403
++++Unity数据存储:https://blog.csdn.net/vrunsoftyanlz/article/details/79251273
++++Unity中Sqlite数据库:https://blog.csdn.net/vrunsoftyanlz/article/details/79254162
++++WWW类和协程:https://blog.csdn.net/vrunsoftyanlz/article/details/79254559
++++Unity网络:https://blog.csdn.net/vrunsoftyanlz/article/details/79254902
++++设计模式简单整理:https://blog.csdn.net/vrunsoftyanlz/article/details/79839641
++++U3D小项目参考:https://blog.csdn.net/vrunsoftyanlz/article/details/80141811
++++UML类图:https://blog.csdn.net/vrunsoftyanlz/article/details/80289461
++++Unity知识点0001:https://blog.csdn.net/vrunsoftyanlz/article/details/80302012
++++U3D_Shader编程(第一篇:快速入门篇):https://blog.csdn.net/vrunsoftyanlz/article/details/80372071
++++U3D_Shader编程(第二篇:基础夯实篇):https://blog.csdn.net/vrunsoftyanlz/article/details/80372628
++++立钻哥哥Unity 学习空间: http://blog.csdn.net/VRunSoftYanlz/
--_--VRunSoft:lovezuanzuan--_--