java list 访问_Java 集合系列之二:List基本操作

本文详细介绍了Java List接口及其重要方法,包括ArrayList、LinkedList、Vector和Stack的特点与区别。ArrayList基于数组实现,适用于读取频繁、修改较少的场景,而LinkedList作为链表实现,适合频繁插入和删除。Vector是线程安全的ArrayList,Stack是Vector的子类,实现了后进先出的栈数据结构。此外,还提到了CopyOnWriteArrayList在并发读多写少场景下的应用。
摘要由CSDN通过智能技术生成

1. Java List

1. Java List重要观点

Java List接口是Java Collections Framework的成员。

List允许您添加重复元素。

List允许您拥有'null'元素。

List接口在Java 8中有许多默认方法,例如replaceAll,sort和spliterator。

列表索引从0开始,就像数组一样。

List支持泛型(类型的参数化),我们应尽可能使用它。将Generics与List一起使用将在运行时避免ClassCastException。

2. Java列表类图

Java List接口扩展了Collection接口。Collection接口 externs Iterable接口。

一些最常用的List实现类是ArrayList,LinkedList,Vector,Stack,CopyOnWriteArrayList。

AbstractList提供了List接口的骨干实现,以减少实现List的工作量。

a13a62249b98faf3aacfba38392c801b.png

3. Java List方法

int size():获取列表中元素的数量。

boolean isEmpty():检查列表是否为空。

boolean contains(Object o):如果此列表包含指定的元素,则返回true。

Iterator iterator():以适当的顺序返回此列表中元素的迭代器。

Object [] toArray():以适当的顺序返回包含此列表中所有元素的数组

boolean add(E e):将指定的元素追加到此列表的末尾。

boolean remove(Object o):从此列表中删除指定元素的第一个匹配项。

boolean retainAll(Collection c):仅保留此列表中包含在指定集合中的元素。

void clear():从列表中删除所有元素。

E get(int index):返回列表中指定位置的元素。

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

ListIterator listIterator():返回列表中元素的列表迭代器。

List subList(int fromIndex,int toIndex):返回指定fromIndex(包含)和toIndex(不包括)之间的此列表部分的视图。返回的列表由此列表支持,因此返回列表中的非结构更改将反映在此列表中,反之亦然。

在Java 8中添加到List的一些默认方法是;

default void replaceAll(UnaryOperator 运算符):将此列表的每个元素替换为将运算符应用于该元素的结果。

default void sort(Comparator c):根据指定的Comparator引发的顺序对此列表进行排序。

default Spliterator spliterator():在此列表中的元素上创建Spliterator。

2. ArrayList

1. ArrayList 结构图

e9a2bcaf461386874d1861d148175c69.png

ArrayList基于数组实现,是一个动态的数组链表。但是它和Java中的数组又不一样,它的容量可以自动增长,类似于C语言中动态申请内存,动态增长内存!

Arra

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值