当前位置:   article > 正文

List集合_list集合存储数据的特点

list集合存储数据的特点

List集合属于Collection接口中的
List集合特点:存储单例数据,存储有序数据,并且可重复。

List接口中常见的三种实现类

  1. ArrayList
  2. LinkedList
  3. Vector

三者的区别
ArrayList :出自jdk 1.2 , 线程不安全,效率高,底层使用Object [ ] 数组 ,查询速度快 。
jdk 7 中 ArrayList 调用空参构造器,底层是创建了长度为 10 的Object [ ] 数组 ,如果当插入超过了10 默认扩容为原来的1.5倍,同时将原有数组中的数据赋值到新的数组当中。
jdk 8 中 ArrayList 调用空参构造不会立即创建数组,当第一次使用add操作的时候底层才创建了长度为 10 的Object [ ] 数组 ,并吧数据存放进去,默认扩容为原来的1.5倍,同时将原有数组中的数据赋值到新的数组当中。

LinkedList :出自jdk 1.2 ,线程不安全,底层使用双向链表存储,对于删除,插入修改等操作要快。
jdk 7 和 8 ,底层是双向链表,LinkedList中两个重要的属性,first,和last,分别指向首节点和尾节点。每个节点(Node类型) 里面又有三个属性item、next、prev,分别指向当前元素、下一个元素、上一个元素、最终实现手拉手的结构

  private static class Node<E> {
        E item;
        Node<E> next;
        Node<E> prev;

        Node(Node<E> prev, E element, Node<E> next) {
            this.item = element;
            this.next = next;
            this.prev = prev;
        }
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

Vector :出自jdk 1.0, 线程安全,效率低,底层使用Object [ ] 数组
调用空参构造器创建的是10的Object [ ] 数组 ,扩容为原来的2倍

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/325660
推荐阅读
相关标签
  

闽ICP备14008679号