黑马程序员技术交流社区
标题:
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类是线程同步的,并允许类似数组的向量中增加,删除和插入元素,也允许检测矢量的内容和检索指定的元素。
代码实例:
import java.util.Vector;
public class VectorDemo
{
public static void main(String[] args)
{
Vector vector = new Vector();
vector.addElement("one");
vector.addElement("two");
vector.addElement("three");
System.out.println("现显示向量初始值" + vector.toString());
vector.insertElementAt("zero", 0);
vector.insertElementAt("four", 4);
System.out.println("显示插入元素后向量值:" + vector.toString());
vector.setElementAt("THREE", 3);
vector.setElementAt("Ending", 4);
System.out.println("显示修改元素后向量值:" + vector.toString());
vector.removeAllElements();
System.out.println("显示全删除后向量值:" + vector.toString());
}
}
复制代码
小结:最好常看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