赞
踩
Array(数组)
优:存储在连续内存上;内容都是相同类型;可以通过下标访问。
缺:必须指定其长度,元素插入也不方便(过长浪费内存,多段会溢出)
ArrayList(数组)
相当于Array的升级版
优:可动态增加和删除 ,可存储不同类型;
缺:类型不安全,因为存储的是不同类型,都会当Object来处理(插入值类型会发生装箱,索引取值会拆箱)
List<T>泛型
相当于 Array和ArrayList的结合(避免了拆装箱操作,同时也可以增加和删除,泛型T规定了其类型)
LinkedList<T>链表
(适合于元素数量不固定,需要两端存取且经常增减节点)
最大的特点是存储在内存空间不一定是连续的(意味着无法利用下标查找)
插入和删除操作无需调整结构容量,靠各个对象的指针决定
下面这两个就不做说明了,不太清楚的可以去查查相关的用法
Queue<T> 先进先出的线性表
Stack<T> 先进后出的线性表
Dictionary<K,T> 字典
(以内存换时间,需要键值对,快速操作)
dictionary内部使用哈希表来存储元素对应的位置,通过哈希值快速从哈希表定位元素所在的位置索引,从而快速获取key对应的value(这个是字典查找快速的主要原因,之前面试有问到过当时不是很清楚)
好了,各个数据结构归纳就这么多了。有什么不对的地方可以指出来或者有什么问题也可以留言讨论!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。