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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© HelloWorld_2013 中级黑马   /  2013-4-16 19:45  /  2412 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 HelloWorld_2013 于 2013-4-17 09:13 编辑

List接口的实现类,有哪些,它们的区别是?

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

5 个回复

倒序浏览
List接口实现类有ArrayLis,LinkedList,Vector。
--ArrayList,底层采用的是数组存储元素,所以ArrayList对象适合作元素的查询操作,不适合作元素的增删。
--LinkedList,底层采用的是链表存储元素,所以LinkedList对象适合作元素的增删,不适合作元素的查询。
--Vector,底层采用的是数组存储元素。它还有一个特点,即线程安全的。所以Vector对象效率比较低,很少使用。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 _王涛 于 2013-4-16 19:58 编辑

List接口:其实现有,ArrayList,LinkedList,Vector
ArrayList:线程不安全,但是效率快,底层数组结构,
Vector:线程安全。所以效率低,底层数组结构,被ArrayList替代。
LinkedList:链表结构,插入删除效率高
共同点元素有序。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
答题开始:
问题:List接口的实现类,有哪些,它们的区别是?
答案:首先看一些理论性的东西!
         List 接口 常用实现类: ArrayList 、LinkedList 、Vector;ArrayList类相当于可增大和缩小的变长数组,以数组形式存储元素,它可以使用索引快速定位元素,取出效率较高,删除插入速度较慢。LinkedList类提供了一个双向链接列表结构,频繁的插入或删除元素有较高的使用效率。Vector类大多数操作与ArrayList类相同,区别在于Vector类是线程同步的,并允许类似数组的向量中增加,删除和插入元素,也允许检测矢量的内容和检索指定的元素。
代码实例:
  1. import java.util.Vector;

  2. public class VectorDemo
  3. {
  4.     public static void main(String[] args)
  5.     {
  6.         Vector vector = new Vector();
  7.         vector.addElement("one");
  8.         vector.addElement("two");
  9.         vector.addElement("three");
  10.         System.out.println("现显示向量初始值" + vector.toString());

  11.         vector.insertElementAt("zero", 0);
  12.         vector.insertElementAt("four", 4);
  13.         System.out.println("显示插入元素后向量值:" + vector.toString());

  14.         vector.setElementAt("THREE", 3);
  15.         vector.setElementAt("Ending", 4);
  16.         System.out.println("显示修改元素后向量值:" + vector.toString());

  17.         vector.removeAllElements();
  18.         System.out.println("显示全删除后向量值:" + vector.toString());
  19.     }
  20. }
复制代码
小结:最好常看API 做项目看书都时刻查看!
希望我的回答对您有所帮助!

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
List接口常用的实现类:ArrayLis、LinkedList,Vector很少使用。
--Vector,底层采用的是数组结构存储元素。早期的实现类的要求线程同步,即线程安全的,效率也就低,现在基本被ArrayList替代。
--ArrayList,底层采用的是数组结构存储元素,线程不同步,查询效率高,增删操作效率低于LinkedList。
--LinkedList,底层采用的是链表结构存储元素,增删操作效率高于ArrayList,线程不同步。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
如果问题未解决,请继续追问,如果没有问题了,请将帖子分类 改为“已解决”,谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马