大家好,今天就来系统的看一下List。
只讲能用到的,花里胡哨的没有。欢迎白嫖。
*注:重点已经标注出来
List中主要有ArrayList、LinkedList两个实现类;
今天我们主要讲解最常用的ArrayList(用的最多)。
一,API解释
ArrayList底层通过数组实现,随着元素的增加而动态扩容。
ArrayList是Java集合框架中使用最多的一个类,是一个数组队列,线程不安全集合。
它继承于AbstractList,实现了List, RandomAccess, Cloneable, Serializable接口。
- ArrayList实现List,得到了List集合框架基础功能;
- ArrayList实现RandomAccess,获得了快速随机访问存储元素的功能,RandomAccess是一个标记接口,没有任何方法;
- ArrayList实现Cloneable,得到了clone()方法,可以实现克隆功能;
- ArrayList实现Serializable,表示可以被序列化,通过序列化去传输,典型的应用就是hessian协议。
它具有如下特点:
- 容量不固定,随着容量的增加而动态扩容(阈值基本不会达到)
- 有序集合(插入的顺序==输出的顺序)
- 插入的元素可以为null
- 增删改查效率更高(相对于LinkedList来说)
- 线程不安全
二,构造方法
例如:
List<String> list = new ArrayList<String>();
其中List是接口,ArrayList为其实现类。通过实现接口调用其实现的方法。String为元素类型。
三,常用方法
List.add(E e)
用于在列表的尾部插入指定元素。如果 List 集合对象由于调用 add 方法而发生更改,则返回 true;否则返回 false。
参数说明:
- e:要添加到列表中的元素。
List.add(int index, E element)
用于在列表的指定位置插入指定元素,并将当前处于该位置的元素及其后续元素的索引加 1。
参数说明:
- index:用于指定在其中插入指定元素处的索引。
- element:用于指定要插入的元素。
List.addAll(Collection<? extends String> c)
用于将指定 collection 中的所有元素添加到列表的尾部。如果 List 集合对象由于调用 addAll 方法而发生更改,则返回 true。
参数说明:
- c:用于指定要将全部元素添加到列表中的 collection。
List.get(int index)
返回list集合中指定索引位置的元素
参数说明:
- index:用于查找元素的索引。
.List.indexOf(Object o)
从序列(List)的第0个元素开始依次循环,并且调用每个元素的equals()方法和参数对象进行比较,如果某一个元素的equals()方法返回值为true,那么就把当前元素的索引位置作为结果返回。假如序列中有多个重复的元素,只返回这个重复的元素第一次出现时所在的索引位置的值。
参数说明:
- o:可以是任意格式的元素。
List.lastIndexOf(Object o)
与indexOf()方法相反,它返回的是某个元素最后一次出现的索引位置的值,也就是它会从序列的队尾向队头进行遍历。
参数说明:
- o:可以是任意格式的元素。
List.contains(Object o)
用于判断列表中是否包含指定元素。如果列表中包含指定元素,则返回 true,否则返回 false。
参数说明:
- o:可以是任意格式的元素。
List.clear()
用于从列表中移除所有元素。该方法没有返回值。
List.size()
以 int 形式返回列表中元素的个数。
List.remove(Object o)
移除此列表中首次出现的指定元素(如果存在)。如来果列表不包含此元素,则列表不做改动。
参数说明:
- o:可以是任意格式的元素。
List.remove(int index)
移除此列表中指定索引位置元素(如果存在)。如来果列表不包含此元素,则列表不做改动。
参数说明:
- index:用于指定在其中移除指定元素处的索引。
List.removeAll(Collection<?> c)
用于从列表中移除指定 collection 中包含的所有元素。
参数说明:
- c:包含从列表中移除元素的 collection 对象。
四:推荐
内容 | 链接 |
---|---|
Java基础 - java.lang.String | https://blog.csdn.net/weixin_43845339/article/details/105646843 |