untiy 数据结构学习一

第一次写博客,还是有点小激动的,哇擦擦 ,总结一下数据结构

常用的几个

Array, List<T> ,Dictionary<key,item>,

不常用的几个

LinkedList<T>,Queue, Stack, ArrayList<object>

然后是他们各自的优缺点

Array   一般用   声明的时候就要标明长度,元素类型必须相同

优点:且用下标索引,  速度快,更换元素方便,

缺点:长度固定,无法随意更改

ArrayList   不常用

优点:解决了Array 的长度固定 数据类型必须相同的问题,可以动态改长度,

缺点: 将所有元素都当成object处理,装入值类型就要装箱操作 取出的时候 拆箱操作,消耗比较大,类型不统一 不安全

List<T> 最常用的 声明的时候要注明数据类型保证了数据安全,可下标取值索引

优点:既保证了数据安全,又避免了装箱拆箱操作性能好

缺点:暂时没想到啥缺点

Dictionary<key,item>  最常用     键值对操作 key不可重复 item可以

优点:键值对操作 ,增删改查特别方便,

缺点:实际占用空间比用的要多,如果数据长度不长 ,尽量避免使用  当然长的话还是可以用的

LinkedList<T> 链表,不常用 特点 数据间的联系通过上一个下一个

优点 :数据的不连续性可以很好的增删元素 

缺点: 无法通过下标取值

Queue<T> 先进先出 不常用

最先进入的数据在数据满的时候会先删掉 初始容量为32巴拉巴拉

Stack<T> 后进先出 不常用

当数据满的时候 后边进去的就会被删掉 默认容量为10巴拉巴拉

详细信息可参阅:慕容小匹夫的博客 常用的数据接口分析和总结

本文大部分也是参考这位大佬的博客

对数组结构进行改变的时候,foreach是不好使的会报错说数据结构被改变无法继续循环  应该使用for循环就好了

此外还有字典对应的哈希表什么的巴啦啦 实在是没用过就不说了

如有写的不对的地方, 欢迎大佬们指出, 在此拜谢~

猜你喜欢

转载自blog.csdn.net/qq_35080168/article/details/81676023
今日推荐