• Javase之集合体系(2)之List及其子类ArrayList,LinkedList与Vector及其迭代器知识


    集合体系之List及其子类ArrayList,LinkedList与Vector及其迭代器知识

    List(接口)

    特点:有序(存储与取出顺序相同),可重复

    List子类特点:

    ​ ArrayList:底层结构是数组,查询快,增删慢。

    ​ 线程不安全,效率高。

    ​ Vector:底层结构是数组,查询快,增删慢。

    ​ 线程安全,效率低。

    ​ LinkedList:底层结构是链表,查询慢,增删快。

    ​ 线程不安全,效率高。

    List特有功能

    • 添加功能

      void add(int index, E element):在指定位置添加元素
      
    • 获取功能

      E get(int index):返回列表中指定位置的元素。
      
    • 列表迭代器功能

      ListIterator<E> listIterator(int index):List特有的迭代器
      
    • 删除功能

      E remove(int index):移除列表中指定位置的元素,并把删除的元素返回
      
    • 修改功能

      E set(int index,E element):用指定元素替换列表中指定位置的元素.
      

    List集合的特有遍历功能:

    通过size()方法确定边界,在根据get()方法得到对应位置的元素

    ListIterator接口

    List特有的迭代器

    该迭代器继承Iterator迭代器,所以,可直接用hhasNext()和next()方法

    特有功能

    • hasPrevious

      boolean hasPrevious():如果以逆向遍历列表,列表迭代器有多个元素,则返回 true。
      
    • previous

      E previous():返回列表中的前一个元素。
      

      注意:只有当迭代器先正向遍历后才能逆向遍历,所以意义不大。

    ArrayList (类)

    特点:底层数据类型是数组,查询快,增删慢,线程不安全,效率高。

    Vector (类)

    特点:底层结构是数组,查询快,增删慢。线程安全,效率低。

    特有功能

    • 添加功能

      • addElement
      public void addElement(E obj):将指定的组件添加到此向量的末尾,将其大小增加 1。如果向量
      的大小比容量大,则增大其容量。
      
      被add()替代
      
    • 获取功能

      • elementAt
      public E elementAt(int index):返回指定索引处的组件。
      
      被get()替代
      
      • elements
      public Enumeration<E> elements():返回此向量的组件的枚举。
      
      被iterator()替代
      
    Enumeration(接口 )

    早期的集合迭代工具,jdk1.2后被Iterator替代

    • 方法摘要

      • hasMoreElements
      boolean hasMoreElements():测试此枚举是否包含更多的元素。
      
      被hasNext()替代
      
      • nextElement
      E nextElement():如果此枚举对象至少还有一个可提供的元素,则返回此枚举的下一个元素。
      
      被next()替代
      

    LinkedList (类)

    特点:底层结构是链表,查询慢,增删快。 线程不安全,效率高。

    特有功能
    • 添加功能

      • addFirst
      public void addFirst(E e):将指定元素插入此列表的开头。
      
      • addLast
      public void addLast(E e):将指定元素添加到此列表的结尾。
      

    • 获取功能

      • getFirst
      public E getFirst():返回此列表的第一个元素。 
      
      • getLast
      public E getLast():返回此列表的最后一个元素。 
      
    • 删除功能

      • removeFirst
      public E removeFirst():移除并返回此列表的第一个元素。 
      
      • removeLast
      public E removeLast():移除并返回此列表的最后一个元素。 
      

  • 相关阅读:
    EF 配置(SqlServer,Mysql)
    mysql sql优化
    非root用户安装、配置mysql
    使用spring jdbc遇到的一个性能问题
    mac 修改 vim 配色
    logstash 监控日志文件时应对日志文件名改变的原理
    java Atomic compareAndSet部分原理分析
    实现进程单例的一些想法
    java String、String.concat和StringBuilder性能对比
    Elasticsearch 动态修改replica配置、增删replica
  • 原文地址:https://www.cnblogs.com/wf614/p/11673848.html
Copyright © 2020-2023  润新知