首页 > 其他 > 详细

vector,arralist,linklist的区别

时间:2018-11-24 13:04:50      阅读:140      评论:0      收藏:0      [点我收藏+]

一:arraylist扩容是扩容一半,vector是扩容一倍

二:linklist是双向列表

三:arraylist适合随机访问的情况,除了在尾部删除,插入外,其他情况的插入删除性能都比较慢,linklist随机访问比较慢

四:技术分享图片

五:queue/deque是一种先入先出,后入先出的数据结构,hashset 的实现是hashmap,treeset的实现是treemap

六:treeset是支持自然顺序,插入,删除慢,logn,hashset是无序唯一,插入,删除时常数级别,linkedHashSet是按照插入顺序排序,插入,删除是常数级别,比hashset慢,需要维护引用,他们的的遍历性能受容量的影响。

七:它们不是线程安全的。可以用Collections.sycronize变成线程安全的。

八:array.sort 和collection.sort可以排序,对于基本类型使用双轴快速排序,对于对象类型使用归并,插入二分排序

九:java 9引入了list.of   set.of 方法可以创建不变的集合

 

vector,arralist,linklist的区别

原文:https://www.cnblogs.com/hanguocai/p/10011540.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!