ArrayList、LinkedList、Vector的区别。
LinkedList与其他二者的区别
首先,LinkedList是相对于其他两个最大不同的,因为底层实现就完全不是一种思路。
ArrayList,Vector 的底层实现是扩容数组,而LinkedList的底层实现是双向链表。具体源码解析请看我的这篇博客:
ArrayList和LinkedList的源码解析
tip:由于LinkedList 是双向链表,可以用来代替过时的Stack类.
Vector是线程安全的线性表。
乍一看,ArrayList与Vector并无区别,都是扩容数组实现,但是在Vector的源码中有“synchronized”的存在,所以我们可以说Vector是唯一的线程安全的线性表.
tip:
线程安全的集合有:V!SHE:Vector(ArrayList),StringBuffer(StringBuilder),Hashtable(HashMap),Enumeration
括号内的为对应的线程不安全的版本.一般情况下使用线程不安全的版本,因为线程安全需要付出效率上的代价。
Arraylist则是正常的线性表
ArrayList,Vector是扩容线性表,默认容量都为10,扩容方法稍微有些不同。线程不安全.
转载于:https://www.cnblogs.com/guodao/p/9702387.html
ArrayList、LinkedList、Vector的区别。相关推荐
- ArrayList,LinkedList,Vector的异同点
先总结下ArrayList和LinkedList的区别: 1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构. 2.对于随机访问get和set,ArrayLi ...
- ArrayList, LinkedList, Vector - dudu:史上最详解
ArrayList, LinkedList, Vector - dudu:史上最详解 我们来比较一下ArrayList, LinkedLIst和Vector它们之间的区别.BZ的JDK版本是1.7.0 ...
- ArrayList ,LinkedList,Vector,StringBuilder,StringBuffer ,String,HashMap,LinkedHashMap,TreeMap
ArrayList ,LinkedList,Vector 区别和联系 从上面的类层次结构图中,我们可以发现他们都实现了List接口,它们使用起来非常相似.区别主要在于它们各自的实现,不同的实现导致了不 ...
- ArrayList和Vector的区别
这两个类都实现了List接口(List接口继承了Collection接口),他们都是有序集合,即存储在这两个集合中的元素的位置都是有顺序的,相当于一种动态的数组,我们以后可以按位置索引号取出某个元素, ...
- java vector arraylist linkedlist用法与区别
首先,它们是list的实现类,大致说一下vector arraylist linkedlist的区别. 1.线程安全来讲, vector是线程安全,arraylist linkedlist线程不安全. ...
- ArrayList 和 Vector 的区别
ArrayList 和 Vector 的区别是什么? Vector 的方法都是同步的,线程安全:ArrayList 非线程安全,但性能比Vector好 默认初始化容量都是10,Vector 扩容默认会 ...
- 一分钟了解ArrayList和Vector的区别
一.是否是线程安全的 Vector是同步的, 而ArrayList不是. 因为Vector是同步的, 所以它是线程安全的. 同样, 因为Vecotr是同步的, 所以他需要额外的开销来维持同步锁, 所以 ...
- Java中ArrayList和Vector的区别
首先想说的是: Vector是在Collections API之前就已经产生了的, 而ArrayList是在JDK1.2的时候才作为Collection framework的一部分引入的. 它们都是在 ...
- Java ArrayList和Vector、LinkedList与ArrayList、数组(Array)和列表集合(ArrayList)的区别...
ArrayList和Vector的区别 ArrayList与Vector主要从二方面来说. 一.同步性: Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的. ...
- ArrayList与LinkedList、Vector的区别 HashMap与HashTable、HashSet的区别
一.ArrayList 和 LinkedList区别: (1)两者都是线程不安全,都实现了Collection接口. (2)数据结构:ArrayList是基于动态数组的数据结构,LinkedList是 ...
最新文章
- maven的pom.xml中repositories的作用
- 复旦大学把衣服变成了显示器,能聊天能导航,水洗弯折都不怕
- JavaFX中基于表达式的PathTransitions
- 012-- mysql的分区和分表
- 【渝粤题库】陕西师范大学300006 史学概论
- 1. 查询表customer——查询姓名和联系人相同的顾客信息
- 埃氏筛_四种形式 ( pass even , bool , char , differently judge )
- IE11 For Win7、win2008中文版官方下载地址
- 【全】可供选择的软件开源协议的罗列
- Win10系列:JavaScript综合实例1
- 【AI with ML】第 8 章 :使用 TensorFlow 创建文本
- 拷贝原站点有用文章(合并页)
- 恐怖系列丨互联网幕后攻防:咳血的独角兽之血腥丛林中的无底线战争
- 基于web的在线视频编辑的设计
- 机器学习最常用的3种激活函数:Sigmoid、Tanh、Relu
- 朝花夕拾《精通CSS》一、HTML CSS 的基础
- IDEA默认JDK版本号变成11了
- Leetcode刷题——栈与队列
- win10支持8t 硬盘_正版Windows 10免费拿解决问题之“硬盘S.A.M.R.T或MBR异常”
- 腾讯云服务器安装宝塔面板教程(一键安装图文教程)建站准备