数组:内存连续,索引速度快。修改赋值快。缺点就是大小初始化的时候已经固定。插入元素不方便,有可能会溢出。添加删除查找复杂度O(n)。用索引是 O(1)。
arraylist,底层也是数组,但是可以动态开辟空间增大容量。类型不安全,有装箱拆箱的消耗。
list 泛型的arraylist。类型安全。添加O(1),删除查找O(n)。索引取值O(1)。
linkedlist 双向链表集合。插入删除快,但是查找慢。
hashset用空间换时间, 查找O(1)。
hashtable 键值对。查找快。.net 中会自动扩容。扩容因子0.72.当前容量的0.72时扩容,扩容大小为接近2倍大小的最少素数。类型是不安全的,任意类型的键值对。添加删除查找都是O(1)。
dictionary 键值对,唯一key。添加删除查找都是O(1)。默认初始化大小为3.
stack,先进后出。删除添加O(1)。
queue,先进后出,删除添加O(1)。