第十七节课 List

目录

ListIterator listIterator()

List特有的迭代器

ListIterator接口的成员方法

ArrayList

Vector

LinkedList

ArrayList类的概述

Vector类概述及使用

概述:

Vector类特有功能

LinkedList类概述

LinkedList的特有功能:

1、添加功能:

2、获取功能:

3、删除功能:


ListIterator listIterator()

List特有的迭代器

该迭代器继承了Iterator接口,在其中就可以使用hasNext()和next方法

ListIterator接口的成员方法

boolean hasPrevious(); 返回true如果遍历反向列表,列表迭代器有多个元素

E previous(); 返回列表中的上一个元素,并向后移动光标位置

ConcurrentModificationException:并发修改异常

当方法检测到对象并发修改的时候,但是不允许这种修改就抛出此异常

原因分析:

迭代器是依赖与集合而存在的,在遍历迭代器中元素的时候,判断成功后,我们往集合中添加新的元素,但是迭代器并不知道你添加了新的元素。所以就报错了。

描述:在迭代器遍历的时候,不能通过集合去修改元素

解决:1、迭代器遍历,迭代器修改,在该元素后面添加

2、集合遍历,集合修改(普通的for循环),在末尾添加

List(接口)子类介绍

ArrayList

底层数据结构是数组,查询快,增删慢

线程不安全,效率高

Vector

底层数据结构是数组,查询快,增删慢

线程是安全的,效率低

LinkedList

底层数据结构是链表,查询慢,增删快

线程不安全,效率高

List接口下面有很多个子类实现,我们在开发中使用谁

如果不知道使用谁,也无特殊要求,你就使用ArrayList

ArrayList类的概述

底层数据结构是数组,查询快,增删慢

线程不安全,效率高

Vector类概述及使用

概述:

底层数据结构是数组,查询快,增删慢

线程安全,效率低

Vector类特有功能

public void addElement(E obj) 在集合末尾添加元素,功能和add方法一样

public E elementAt(int index) 该方法与get(int)方法相同,虽然没有区别,但是多了synchronized关键字

public Enumeration elements()枚举,返回地址值

LinkedList类概述

底层数据结构是链表,查询慢,增删快

线程不安全,效率高

LinkedList的特有功能:

1、添加功能:

public void addFirst(Object obj):在该集合开头插入指定的元素

public void addLast(Object obj)将指定的元素追加到此列表的末尾。

这个方法相当于add(Object) 。

2、获取功能:

public Object getFirst():返回此集合中的第一个元素。

getLast():返回此列表中的最后一个元素。

3、删除功能:

public Object removeFirst():移除集合中第一个元素

public Object removeLast():移除集合中最后一个元素

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值