Java.util.List_小白学JAVA

本文深入解析List<E>接口,阐述其作为有序且允许重复元素的容器特性,对比Collection,强调索引操作优势。详细介绍List的主要方法,包括添加、删除、查找元素及子列表,特别指出ListIterator在遍历同时修改元素的能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

List<E> :有序且允许重复的容器;//我一般直接把他称为线性表

熟悉的实现类有AbstractList<E>//随机访问数据结构的父类(如数组,ArrayList就是它的实现类);AbstractSequentialList<E> extends AbstractList<E>//连续访问数据结构的父类(如链表,LinkedList就是它的实现类)。

其定义的,与Collection略有不同的抽象方法主要有:

1)添加操作(可选)[1]:boolean add(E e)//与Collection<E>不同是:该处已在文字上说明添加元素的位置为最后;boolean add(int Index, E e);boolean addAll(Collection<? extends E> c);//该处已在文字上说明添加元素的位置为最后;boolean addAll(int index ,Collection<? extends E> c);

2)删除操作(可选):boolean remove(int index);

3)返回元素:E get(int index) ; List<E> subList(int fromIndex, int toIndex) //返回列表中指定的 fromIndex(包括 )和 toIndex(不包括)之间的部分视图。 

4)返回元素索引: int indexOf(Object o) //返回此列表中第一次出现的指定元素的索引;如果此列表不包含该元素,则返回 -1;  int lastIndexOf(Object o) //返回此列表中最后出现的指定元素的索引;如果列表不包含此元素,则返回 -1; 

5)迭代器:  ListIterator<E> listIterator() //返回此列表元素的列表迭代器(按适当顺序)。 ListIterator<E> listIterator(int index) //返回列表中元素的列表迭代器(按适当顺序),从列表的指定位置开始。 *//在原有Iterator的基础上新增了列表迭代器, 其区别主要是:当在对元素进行遍历的同时需要对原有表的元素进行增删时,必须使用ListIterator。详情参见参考文献[2].
总结:List<E>定义了一个有序且允许重合的容器的接口。相对于Collect<E>来说,其重要特点是有序,所以可以通过索引进行增删查(无论是随机访问还是顺序访问)。此外,该接口声明了一组方法用以定义该接口实现类的特殊迭代器,该迭代器允许在遍历同时修改容器中元素。

参考文献:

[1] java.util.Collection_小白学JAVA// https://blog.youkuaiyun.com/weixin_38515342/article/details/83512529

[2]JAVA中ListIterator和Iterator区别和使用//https://blog.youkuaiyun.com/My_blankness/article/details/77856283

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值