List接口介绍

来源:互联网 发布:小学生英语口语软件 编辑:程序博客网 时间:2024/05/18 02:04

List:有序列表,允许存放重复的元素。

实现类: 
          ArrayList:数组实现,需要一块连续的存储空间,查询快,增删慢,不同步,线程不安全,轻量级;
          LinkedList:链表实现,增删快,查询慢; 
          Vector:数组实现,同步,线程安全,重量级;基于Array的List,其实就是封装了Array所不具备的一些功能方便我们使用,它不可能走出Array的限制。性能也就不可能超越Array。所以,在可能的情况下,我们要多运用Array。另外很重要的一点就是Vector“synchronized”的,这个也是Vector和ArrayList的唯一的区别。ArrayList:同Vector一样是一个基于Array上的链表,但是不同的是ArrayList不是同步的。所以在性能上要比Vector优越一些,但是当运行到多线程环境中时,可需要自己在管理线程的同步问题。LinkedList:LinkedList不同于前面两种List,它不是基于Array的,所以不受Array性能的限制。它每一个节点(Node)都包含两方面的内容:1.节点本身的数据(data);2.下一个节点的信息(nextNode)。所以当对LinkedList做添加,删除动作的时候就不用像基于Array的List一样,必须进行大量的数据移动。只要更改nextNode的相关信息就可以实现了。这就是LinkedList的优势。

0 0
原创粉丝点击