黑马程序员技术交流社区

标题: List接口的实现类 [打印本页]

作者: HelloWorld_2013    时间: 2013-4-16 19:45
标题: List接口的实现类
本帖最后由 HelloWorld_2013 于 2013-4-17 09:13 编辑

List接口的实现类,有哪些,它们的区别是?
作者: 易杰    时间: 2013-4-16 19:47
List接口实现类有ArrayLis,LinkedList,Vector。
--ArrayList,底层采用的是数组存储元素,所以ArrayList对象适合作元素的查询操作,不适合作元素的增删。
--LinkedList,底层采用的是链表存储元素,所以LinkedList对象适合作元素的增删,不适合作元素的查询。
--Vector,底层采用的是数组存储元素。它还有一个特点,即线程安全的。所以Vector对象效率比较低,很少使用。
作者: _王涛    时间: 2013-4-16 19:57
本帖最后由 _王涛 于 2013-4-16 19:58 编辑

List接口:其实现有,ArrayList,LinkedList,Vector
ArrayList:线程不安全,但是效率快,底层数组结构,
Vector:线程安全。所以效率低,底层数组结构,被ArrayList替代。
LinkedList:链表结构,插入删除效率高
共同点元素有序。
作者: 段旭东    时间: 2013-4-16 20:14
答题开始:
问题: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 做项目看书都时刻查看!
希望我的回答对您有所帮助!
作者: 先小涛    时间: 2013-4-17 00:10
List接口常用的实现类:ArrayLis、LinkedList,Vector很少使用。
--Vector,底层采用的是数组结构存储元素。早期的实现类的要求线程同步,即线程安全的,效率也就低,现在基本被ArrayList替代。
--ArrayList,底层采用的是数组结构存储元素,线程不同步,查询效率高,增删操作效率低于LinkedList。
--LinkedList,底层采用的是链表结构存储元素,增删操作效率高于ArrayList,线程不同步。

作者: 黄玉昆    时间: 2013-4-17 09:11
如果问题未解决,请继续追问,如果没有问题了,请将帖子分类 改为“已解决”,谢谢




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2