黑马程序员技术交流社区
标题:
ArrayList,Vector, LinkedList的存储性能和特性 ?
[打印本页]
作者:
小小6456
时间:
2014-5-19 13:10
标题:
ArrayList,Vector, LinkedList的存储性能和特性 ?
求解。。。。。。。。。。。。
作者:
彭飞
时间:
2014-5-19 13:48
ArrayList,Vector, LinkedList 三者都是List下的小弟,
首先说vector 他是老版本的存在,可以说是被新版本的linkedlist取代,不过其特殊之处就是枚举。而枚举可以理解为老版本的迭代,具体详情请返回观看老师的视频,至于为什么vector没有被直接抛弃用linkedlist完全取代,我也不太清楚。
LinkedList的底层数据结构是链表,链表的特性就是查询慢,增删快。
arraylist 的底层数据结构是数组结构,具有查询很快增删较慢的特性
他们都是不同步的。都是有序的,而且都可以重复。
据说一般都使用ArrayList。当然具体得看需求。
作者:
路漫漫_求索
时间:
2014-5-19 17:33
我将它们总结成下面的样子,它们各自的优势和特长,你就能一目了然了,希望对你有帮助。。。
首先,List可以存放重复元素,元素是有序的
* |--ArrayList底层数据结构是数组,查询快,增删慢。线程不同步,效率高。
* |--Iterator排序方法
* |--ListIterator特有迭代器。
* 特有方法(指定位置add添加、set修改,还能判断前面是否还有元素hasPrevious)
* 原因:ArrayList是数组结构,具有角标,所以可以索取指定角标进行添加修改
* |--add();
* |--set(int, String);指定位置元素,要修改的元素
* |--remove();
* |--subList(int star,int end); 获取集合中 指定star-end之间的对象
* |--indexOf();要查找的对象
* -------------------------------------------------------------------------------
* |--LikedList底层数据结构是链表,查询慢,增删快。线程不同步,效率高。
* |--addFirst();
* |--addLast();
* 获取元素
* |--getFirst();
* |--getLast();
* 移除元素
* |--removeFirst();
* |--removeLast();
* 判断
* |--isEmpty();
* -------------------------------------------------------------------------------
* |--Vector 底层数组结构是数组,查询快,增删慢,线程同步。
* |--Enumeration en = v.elements();特有取元素方式
* while(en.hasMoreElements());
* System.out.println(en.hasMoreElements());
作者:
youcyou
时间:
2014-5-19 20:32
ArrayList:底层的数据结构是数组,线程不同步,ArrayList替代了Vector,查询元素的速度非常快。
LinkedList:底层的数据结构是链表,线程不同步,增删元素的速度非常快。
Vector:底层的数据结构就是数组,线程同步的,Vector无论查询和增删都巨慢。
作者:
张志民
时间:
2014-5-19 20:46
ArrayList:底层的数据结构是数组,线程不同步,ArrayList替代了Vector,查询元素的速度快。
LinkedList:底层的数据结构是链表,线程不同步,增删元素的速度快。
Vector:底层的数据结构就是数组,线程同步的,Vector无论查询和增删都很慢。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2