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():移除并返回此列表的最后一个元素。 
    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值