ArrayList是一个特殊的数组。通过添加和删除元素,就可以动态改变数组的长度。
ArrayList并不是强类型,ArrayList 可能并不总是提供特定任务的最佳性能。
特点:
1.支持自动改变大小的功能。
2.可以灵活的插入元素、删除元素、访问元素。
3.不是强类型,速度跟数组比起来要慢。
List<T>类表示可通过索引访问的对象的强类型列表。
提供用于对列表进行搜索、排序和操作的方法。
List<T>是ArrayList类的泛型等效类,该类使用大小可按需动态增加的数组实现IList<T>泛型接口。
二者比较:
1.于ArrayList相比, List<T>类在大多数情况下执行得更好并且是类型安全的。
2. 若Lis<T>类的类型 T 使用引用类型,则两个类的行为是完全相同的。 但是,如果对类型 T 使用值类型,则需要考虑
实现和装箱问题。
Stack称为栈,栈和队列非常相似,只不过队列是先进先出,而栈中的数据添加和移除都在一端进行,遵守栈中的数据则后进先出。
1.后进先出(LIFO)的一种数据结构。
2.随着向 Stack 中添加元素,容量通过重新分配按需自动增
加。
3.Stack 接受 null 作为有效值并且允许重复的元素。
Queue称为队列,队列是这样一种数据结构,数据有列表的一端插入,并由列表的另一端移除。
1.先进先出(FIFO)的一种数据结构。
2.随着向Queue 中添加元素,容量通过重新分配按需自动增加。可通过调用 TrimToSize 来减少容量。
3.Stack 接受 null 作为有效值并且允许重复的元素。
4.在AI寻路算法中经常用的Queue。
Dictionary类称为字典类,表示键和值的集合。其中TKey表示字典中的类型,Tvalue表示字典中的值类型。
1.字典是一个泛型集合。
2.TKey必须唯一。
3.Value可以是变量,也可以是对象。