Java基础之集合List-ArrayList、LinkedList、Vector的底层实现和区别
2016-09-11 10:06
936 查看
Java基础之集合List-ArrayList、LinkedList、Vector的底层实现和区别
ArrayList底层实际是采用数组实现的(并且该数组的类型是Object类型的)如果jdk6,采用Array.copyOf()方法来生成一个新的数组,如果是jdk5,采用的是System.arraycopy()方法(当添加的数据量大于数组的长度的时候)
List list = new ArrayList()时,底层会生成一个长度为10的数组来存放对象
ArrayList、Vector底部都是采用数组实现的
对于ArrayList,方法都不是同步的,对于Vector,大部分public方法都是同步的
LinkedList采用双向循环列表
对于ArrayList,查询速度很快,增加和删除(非最后一个节点)操作非常慢(本质上由数组的特性决定的)
对于LinkedList,查询速度非常慢,增加和删除操作非常快(本质上是由双向循环列表决定的)
参考博客:
http://blog.csdn.net/sundenskyqq/article/details/27630179
相关文章推荐
- java基础之集合List-ArrayList、LinkedList、Vector的区别
- 牛客网Java刷题知识点之ArrayList 、LinkedList 、Vector 的底层实现和区别
- java基础(集合List-ArrayList、LinkedList、Vector的区别)
- Java 集合:Collection,List,ArrayList,Vector,LinkedList(实现方式,对比)
- Java 集合:Collection,List,ArrayList,Vector,LinkedList(实现方式,对比)
- java基础(六)ArrayList、LinkedList、Vector的区别
- Java 集合:Collection,List,ArrayList,Vector,LinkedList(实现方式,对比)
- Java 集合 1:Collection,List,ArrayList,Vector,LinkedList(实现方式,对比)
- 【深入Java基础】ArrayList、LinkedList和Vector的用法与区别
- Java基础之ArrayList、Vector与LinkedList的区别
- Java基础面试题4-描述一下ArrayList和LinkedList各自实现和区别
- Java 集合:Collection,List,ArrayList,Vector,LinkedList(实现方式,对比)
- List-ArrayList、LinkedList、Vector的底层实现和区别
- java的List接口的实现类 ArrayList,LinkedList,Vector 的区别
- Java 集合:Collection,List,ArrayList,Vector,LinkedList(实现方式,对比)
- Java基础之ArrayList与LinkedList、Vector,以及HashMap与HashTable的区别
- Java基础之集合类如ArrayList、LinkedList、HashMap、HashTable的区别
- Java基础知识_集合(ArrayList & LinkedList & Vector & 迭代器)
- java的List接口的实现类 ArrayList,LinkedList,Vector 的区别
- JAVA基础学习之String、StringBuffer、StringBuilder、基本数据类型的使用、整形进制转换、集合Collection、Vector、ArrayList、LinkedList、HashSet、TreeSet等(3)