List接口

1.3.1概述

有序的Collection序列,此接口的用户可以对此列表中的每个元素的插入位置进行精确的控制
用户可以通过元素的整数索引访问元素,并搜索列表中的元素,与set不同,通常允许重复的元素

特点:元素有序且可重复,集合中每个元素都有其对应的顺序索引

1.3.2List常用方法

List是Collection接口的子接口,Collection接口中的方法就不再赘述

void add(int index,Object element):将元素怒element添加到集合的指定index索引处
boolean addAll(int index,Collenction c):将集合A所包含的所有元素添加到集合B中指定index索引处
Object get(int index):获取指定集合索引处的元素
int indexOf(Object o):返回该对象在集合中第一次出现的索引
int lastIndexOf(Object o):返回该对象在集合中最后一次出现的索引
Object remove(int index):删除该索引元素并返回该删除的元素
Object set(int index,Object element):将index索引处的元素替换为element对象,返回被替换的旧元素
List subList(int fromIndex,int toIndex):返回从索引fromIndex到索引toIndex处的所有集合元素组成的子集合[fromIndex,toIndex)
void replaceAll(UnaryOperator operator):根据只当的计算规则重新设置list集合的所有元素
void sort(Comparator c):根据Comparator参数对List集合元素进行排序

set方法虽然可以改变指定索引处的值,但是不能扩容,即不可改变原有集合的长度

UnaryOperator也是一个函数式接口,因此replaceAll方法可以使用lambda表达式来作为参数

1.3.3ListIterator接口

List还额外提供了一个listIterator()方法,该方法返回一个ListIterator对象,LIstIterator接口继承自Iterator接口

常用方法:
boolean hasPrevious();//返回该迭代器关联的集合是否还有上一个元素
Object previous();//返回该迭代器的上一个元素
void add(Object o);//指定位置插入一个元素

ListIterator和Iterator对比:

  • ListIterator不仅有向后迭代(Iterator的特性)的功能,还增加了向前迭代的功能

  • ListIterator不仅支持删除List集合,还添加了增加元素的功能(add())

1.3.4固定长度的List

在数组中有一个Arrays工具类,该工具类中提供了asList(Object…a)方法,该方法可以将一个数组或多个数组转换为一个List集合

这个List集合既不是ArrayList实现类的实例,也不是Vector实现类的实例,而是Arrays内部类的实例

Object[] objects = list.toArray();                      
List<Object> objects1 = Arrays.asList(objects);         
objects1.remove("白居易");  //UnsupportedOperationException

这个List是固定长度,不允许添加和删除,,否则会引发异常UnsupportedOperationException

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Carl·杰尼龟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值