先看下类图: 相同点: 都实现了List接口和Collection; 不同点: 1、ArrayList是基于数组实现的;LinkedList是基于链表实现的; 2、ArrayList随机查询速度快;LinkedList插入和删除速度快; 原理 ...
. Vector amp ArrayList 相同点: ArrayList和Vector都是继承了相同的父类和实现了相同的接口 底层都是数组实现的 初始默认长度都为 。 不同点: Vector的方法都是同步的 Synchronized ,是线程安全的 thread safe ,而ArrayList的方法不是,由于线程的同步必然要影响性能,因此,ArrayList的性能比Vector好。 当Vec ...
2017-03-28 10:17 0 2307 推荐指数:
先看下类图: 相同点: 都实现了List接口和Collection; 不同点: 1、ArrayList是基于数组实现的;LinkedList是基于链表实现的; 2、ArrayList随机查询速度快;LinkedList插入和删除速度快; 原理 ...
Array和ArrayList的区别: 1、Array类型的变量在声明的同时必须进行实例化(至少得初花数组的大小),而ArrayList可以只是先声明; 2、Array始终是连续存放的;而ArrayList的存放不一定连续; 3、Array对象的初始化必须指定大小,且创建后的数组大小是固定 ...
大厂ArrayList的面试题: 1.new ArrayList的时候底层new了什么? 2.凡数组都有类型,什么类型? 3.数组要在内存中占据连续的内存空间,初始值以java8为例是多少? 4.存25个元素进去可以吗?底层发生什么?底层扩容到多少? 5.搬家的过程用到了什么方法 ...
ArrayList和Vector都是使用数组方式存储数据,此 数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据 慢,Vector由于使用了synchronized方法(线程安全),通常 ...
List概括 先回顾一下List在Collection的框架图: 从图中可以看出: List是一个接口,他继承Collection接口,代表有序的队列。 AbstractList是一 ...
1. 是否保证线程安全: ArrayList 和 LinkedList 都是不同步的,也就是不保证线程安全; 2. 底层数据结构: Arraylist 底层使用的是Object数组;LinkedList 底层使用的是双向链表数据结构(JDK1.6之前为循环链表,JDK1.7取消 ...
我以面试官的身份参加过很多Java的面试,以下是五个比较有技巧的问题,我发现有些初级到中级的Java研发人员在这些问题上没有完全弄明白,似懂非懂。所以我写了一篇相关的文章,帮助初级Java研发人员弄清楚这些问题。文章列举了和Java ArrayList相关的5个比较具有迷惑性的问题,我相信如果面试 ...
Vector继承了AbstractList,实现了List, RandomAccess, Cloneable, java.io.Serializable,和ArrayList一致 Vector大致与ArrayList一致,但是有以下几点区别 1 初始化 默认无参构造方法 Vector会初始化 ...