vector,arralist,linklist的区别

Posted hanguocai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vector,arralist,linklist的区别相关的知识,希望对你有一定的参考价值。

一: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的区别的主要内容,如果未能解决你的问题,请参考以下文章

string和stringbuffer的区别 集合的作用 ArrayList vector linklist hashmap hashtable collection和collections

java问题。集合 HashSet,LinkedHashSet,TreeSet,ArrayLIst,LinkList,Vector这些集合在平时应用中,该如何

cpp的stl有linklist吗

Java中的linklist都有哪些用法,list.add,list.getFirst(),这些是啥意思?

Java集合之ArrayList与LinkList

JAVA中List的三个子类。