一:List的三个子类的特点 ArrayList: 底层数据结构是数组,查询快,增删慢. 线程不安全,效率高.Vector: 底层数据结构是数组,查询快,增删慢. 线程安全,效率低.Vector相对ArrayList查询慢(线程安全的)Vector相对LinkedList增删慢(数组结构)LinkedList: 底层数据结构是链表,查询慢,增删快. 线程不安全,效率高. 二:Vector和ArrayList的区别 Vector是线程安全的,效率低 ArrayList是线程不安全的,效率高 共同点…
主要分两个接口:collection和Map 主要分三类:集合(set).列表(List).映射(Map)1.集合:没有重复对象,没有特定排序方式2.列表:对象按索引位置排序,可以有重复对象3.映射:有一个键对象和一个值对象,键不可重复,值可以重复 这里我们介绍List list是接口,linklist和arraylist是list的实现类 linklist是用的链表来实现的,arraylist是用数组来实现的 ArrayList:缺点:内存使用量要大一些,添加删除元素效率较低.元素随机访问的效…
JAVA之旅(十九)--ListIterator列表迭代器,List的三个子类对象,Vector的枚举,LinkedList,ArrayList和LinkedList的小练习 关于数据结构,所讲的知识太多了,我们只能慢慢的来分析了 一.ListIterator列表迭代器 ListIterator列表迭代器是个什么鬼?我们通过一个小例子来认识他 package com.lgl.hellojava; import java.util.ArrayList; import java.util.Itera…
集合体系之List及其子类ArrayList,LinkedList与Vector及其迭代器知识 List(接口) 特点:有序(存储与取出顺序相同),可重复 List子类特点: ​ ArrayList:底层结构是数组,查询快,增删慢. ​ 线程不安全,效率高. ​ Vector:底层结构是数组,查询快,增删慢. ​ 线程安全,效率低. ​ LinkedList:底层结构是链表,查询慢,增删快. ​ 线程不安全,效率高. List特有功能 添加功能 void add(int index, E ele…
ArrayList是基于数组实现的,没有容量的限制. 在删除元素的时候,并不会减少数组的容量大小,可以调用ArrayList的trimeToSize()来缩小数组的容量. ArrayList, LinkedList, Vector, Stack是List的4个实现类. ArrayList 是一个数组队列,相当于动态数组.它由数组实现,随机访问效率高,随机插入.随机删除效率低. LinkedList 是一个双向链表.它也可以被当作堆栈.队列或双端队列进行操作.LinkedList随机访问效率低,但…
ArrayList, LinkedList, Vector - dudu:史上最详解 我们来比较一下ArrayList, LinkedLIst和Vector它们之间的区别.BZ的JDK版本是1.7.0_80 经常在面试的时候,或者在大家做project的时候,都会被它们的区别产生疑惑.或者对它们的用法并不是很了解.那么我们今天就来看看他们的区别和用法. 以下是本文的大纲: 一.ArrayList,LinkedList和Vector的区别 二.详解ArrayList 三.详解Vector 四.详解…
ArrayList与Vector区别表 ArrayList Vector 1.实现原理:采用动态对象数组实现,默认构造方法创建了一个空数组 1.实现原理:采用动态数组对象实现,默认构造方法创建了一个大小为10的对象数组 2.第一次添加元素,扩展容量为10,之后的扩充算法:原来数组大小+原来数组的一半 2.扩充的算法:当增量为0时,扩充为原来大小的2倍,当增量大于0时,扩充为原来大小+增量 3.不适合进行删除或插入操作 3.不适合进行删除或插入操作 4.为了防止数组动态扩充次数过多,建议创建Arr…
最近在温习Java集合部分,花了三天时间读完了ArrayList与LinkedList以及Vector部分的源码.之前都是停留在简单使用ArrayList的API,读完源码看完不少文章后总算是对原理方面有了较清楚的认知.这部分文章整理基本都是这么一个套路:简单概括,分析源码增删改查,总结成文. Java容器源码(精品): https://blog.csdn.net/panweiwei1994/article/details/76555359#commentBox https://juejin.i…
List主要有ArrayList,LinkedList和vector三种实现.这三种都实现了List接口,使用方式也很相似,主要区别在于其实现方式的不同! 这三种数据结构中,ArrayList和Vector只实现了List接口,而LinkedList同时实现了List接口和Queue接口.所以,LinkedList既是一个列表, 也是一个队列. 1.底层数据结构 ArrayList和Vector是采用数组来存储元素的.数组的特点就是可以方便的通过下标来访问其中的某一个元素,但是想要向其中插入或者…
1.ArrayList和Vector都是基于数组实现的,所以查询速度很快,增加和删除(非最后一个节点)速度慢: Vector是线程安全的,ArrayList不是. 2.LinkedList 是一个双向循环链表,查询速度比ArrayList和vector慢,增加和删除速度比ArrayList和vector快…