当前位置: 首页 > news >正文

怎么用群晖nas做网站汽车网站策划

怎么用群晖nas做网站,汽车网站策划,公司网站友情链接,重庆企业建站模板数据结构性能对比 List、LinkedList、Dictionary 1. ArrayList #xff08;List#xff1a;前传#xff09; ArrayList 是一个特殊数组#xff0c; 通过添加和删除元素就可以动态改变数组的长度。 ArrayList集合相对于数组的优点#xff1a; 支持…数据结构性能对比 List、LinkedList、Dictionary 1. ArrayList List前传 ArrayList         是一个特殊数组         通过添加和删除元素就可以动态改变数组的长度。 ArrayList集合相对于数组的优点         支持自动改变大小         可以灵活的插入元素         可以灵活的删除元素         可以灵活的访问元素。 ArrayList 自身缺陷         ArrayList只支持一维         并且查询和检索的速度较慢。 简而言之         灵活性提升速度不足。 在C#中数据类型分为两类值类型和引用类型。 值类型         int bool char double enum struct DateTime等         都是值类型 引用类型         stringArrayclass集合 等都是引用类型。 值类型和引用类型的重要特征如下 差别         值类型的长度固定         而引用类型的长度不固定 数据存储         如果是值类型直接存储在栈中局部变量         如果是引用类型先把数据存储在堆中然后把堆的地址存储在栈中。 object类:所有类的基类         所有的数据类型都可以转换成object类         ArrayList 在存储的时候全被转换成object类型存储         这就是为什么ArrayList既可以存储值类型也可以存储引用类型。 灵活性 换 性能         当然这也是ArrayList的一个缺点         由于存储的时候需要把值类型封装成object类型         取出来的时候需要再把object类型再转换成值类型         这一装箱和拆箱的过程非常消耗性能。         正所谓鱼与熊掌不可兼得。 扩展阅读 装箱         由值类型封装成object类型的过程称为装箱。 拆箱         由object类型转换成值类型的过程称为拆箱。 2. List 传承         List 继承了ArrayList的特点高灵活性。 改进         基于ArrayList低性能的弱点我们进行了改进         在声明时需要指定类型避免装箱拆箱操作提升性能。         只是多写个int就极大提高了速度何乐而不为。 特点         拥有索引可进行排序修改等等。 3. LinkedList 新的问题         ArrayList或者List虽说灵活性很好         但都有个缺陷插入元素或者移除元素时速度较慢         因为存在后续元素的位置变化 厌恶真空         中间一旦有人缺席所有人都要前移去补位牵一发动全身         因此没事千万别往ArrayList和List中间踢人或插队。         避免造成连锁反应途耗性能 解决方案         LinkedList每个元素记录下一个元素的位置         插入或者移除元素时只需要修改标记即可         不用移动后面的元素大大提高了效率。 使用方法 ArrayList vs Lis vs LinkedList         尽量避免用ArrayList多线程时候可以用ConcurrentBag代替。         插入、删除较多用LinkedList否则用List。 包(Bag)包可包含重复元素(此处对应List)。 集(Set)集中不能包含重复元素。 4. HashTable key-value组合可以添加不同类型的数据取出之后需要转换成对应类型 Hashtable hashtable new Hashtable();    hashtable.Add(Name, HadsNyx);hashtable.Add(age, 25);return hashtable; HashTable线程安全允许单线程写入多线程读取。 5. Dictionary key-value组合必须指定数据类型 特点         速度较快不必装箱拆箱         非线程安全即使这样也可以用ConcurrentDictionary代替 HashTable vs Dictionary :         Dictionary效率高但是人为lock保持线程安全时效率反而低下。         多线程编程用ConcurrentDictionary只有单线程用Dictionary。 优化小技巧         由于Dictionary有底层有桶和链表结构         有时候将List转为Dictionary进行操作         (用主键作为key保证无重复元素)反而效率更高。 6. 性能排序 插入性能 LinkedList Dictionary HashTable List 遍历性能List LinkedList Dictionary HashTable 删除性能 Dictionary LinkedList HashTable List 统计 Dictionary3项性能都在前三的位置 LinkedList3项性能都在前二的位置   小结 在修改较频繁且查找和删除也较多时首选LinkedList, 在主要以删除为主插入为辅且查找较少时首选Dictionary 在查找频繁而又无需修改的情况下则首选List。   总结 只查找首选List 插入为主查找和删除为辅首选LinkedList 删除为主查找和插入为辅首选Dictionary 注意是插入不是新增新增都没多大区别 扩展阅读 HashSetT和SortedSetT HashSetT和SortedSetT都属于集 Set:元素不可重复 加入重复元素时并不会报错。 SortedSet还有排序的功能 例如加入1、3、2foreach会得到1、2、3 导航图(右键新窗口中打开否则404) array 数组 arraylist 动态数组 list 列表 queue 队列 stack 堆栈 linkedlist 链表 hashtable 哈希表 dictionary 字典 SortedList 排序列表 SortedDictionary 排序字典 hashset 哈希集 sortedset 排序集 PS: 为什么ArrayList的效率会比较低 因为ArrayList是使用数组实现的,若要从数组中删除或插入某一个对象需要移动后段的数组元素从而会重新调整索引顺序,调整索引顺序会消耗一定的时间所以速度上就会比LinkedList要慢许多. 相反,LinkedList是使用链表实现的,若要从链表中删除或插入某一个对象,只需要改变前后对象的引用即可。 array的效率要比List的要高一些当数组长度不是很大时两者没什么区别建议用List毕竟是可变长度可以Add特殊应用还是建议用array
http://www.hkea.cn/news/14485824/

相关文章:

  • 做木工的网站seo营销服务
  • 一号网站建设网站制作单位如何做网站宣传
  • 做网站开发的wordpress订阅功能
  • 流量与网站怎么开彩票网站做站长
  • 建设厅投诉网站建网站什么赚钱
  • 网页制作怎么建站点建网站找那家好
  • 经销商自己做网站合适吗网站建站域名解析最后做
  • 网站建设公司应该怎么转型凡客旗下app
  • 九一制作网站普通人做电商赚钱吗
  • 服装设计资源网站移动网站程序
  • 支付宝手机网站签约网页游戏交易网站
  • 网站建设哪些是需要外援的问题网站流量地址评价是什么意思
  • 做百度移动网站快速黑龙江网架公司
  • 白酒网站定制开发怎么用nas做网站服务器
  • 广州市网站建设在哪里平顶山工程造价信息网
  • 网站建设捌金手指下拉一安徽网页设计培训
  • 微信公众号绑定网站河津市城乡建设局网站
  • 宜昌网站设计公司自我介绍ppt模板免费下载
  • 文档共享网站建设网站开发人员名片
  • 电子商务网站建设与电子支付wordpress开发视频网站模板
  • 邹城网站建设多少钱可免费下载的ppt模板
  • 顺德品牌网站建设公司自助建站软件排行榜
  • 长春火车站在哪个街道企业网站的特点是什么
  • 设计网站的公司名称软件开发属于什么行业类别
  • 朔州怀仁网站建设网站被镜像 站长学院
  • 北京商城网站建设报价平面设计排版
  • 重庆网站seo推广公司市场监督管理局官网查询系统
  • 公司网站实名认证企业信用信息查询系统
  • 北京通州区网站制作热搜榜上2023年热门话题
  • 网站后台编辑器wordpress 替代