A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

求解。。。。。。。。。。。。

5 个回复

倒序浏览
ArrayList,Vector, LinkedList  三者都是List下的小弟,

首先说vector    他是老版本的存在,可以说是被新版本的linkedlist取代,不过其特殊之处就是枚举。而枚举可以理解为老版本的迭代,具体详情请返回观看老师的视频,至于为什么vector没有被直接抛弃用linkedlist完全取代,我也不太清楚。

LinkedList的底层数据结构是链表,链表的特性就是查询慢,增删快。
arraylist  的底层数据结构是数组结构,具有查询很快增删较慢的特性

他们都是不同步的。都是有序的,而且都可以重复。

据说一般都使用ArrayList。当然具体得看需求。
回复 使用道具 举报
我将它们总结成下面的样子,它们各自的优势和特长,你就能一目了然了,希望对你有帮助。。。

首先,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());
回复 使用道具 举报
ArrayList:底层的数据结构是数组,线程不同步,ArrayList替代了Vector,查询元素的速度非常快。
LinkedList:底层的数据结构是链表,线程不同步,增删元素的速度非常快。
Vector:底层的数据结构就是数组,线程同步的,Vector无论查询和增删都巨慢。
回复 使用道具 举报
ArrayList:底层的数据结构是数组,线程不同步,ArrayList替代了Vector,查询元素的速度快。
LinkedList:底层的数据结构是链表,线程不同步,增删元素的速度快。
Vector:底层的数据结构就是数组,线程同步的,Vector无论查询和增删都很慢。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马