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这些集合在平时应用中,该如何