常用集合List、ArrayList、LinkedList的使用方法。

本文详细介绍了Java中List接口常用的方法,包括添加、删除、获取和修改元素等操作,并对比了ArrayList和LinkedList两个主要实现类的特性。ArrayList适用于随机访问,而LinkedList适合于频繁的插入和删除操作。通过源码分析,加深了对这两种数据结构的理解。
摘要由CSDN通过智能技术生成

因为自己偶尔也会刷刷算法,而对常用的集合方法使用不够熟练就去看了看源码,于是就顺便记录一下!!!

List接口常用方法:

1、add(Object element): 向列表的尾部添加指定的元素。

2、size(): 返回列表中的元素个数。

3、get(int index): 返回列表中指定位置的元素,index从0开始。

4、add(int index, Object element): 在列表的指定位置插入指定元素。

5、set(int i, Object element): 将索引i位置元素替换为元素element并返回被替换的元素。

6、clear(): 从列表中移除所有元素。

7、isEmpty(): 判断列表是否包含元素,不包含元素则返回 true,否则返回false。

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

9、remove(int index): 移除列表中指定位置的元素,并返回被删元素。

10、remove(Object o): 移除集合中第一次出现的指定元素,移除成功返回true,否则返回false。

11、iterator(): 返回按适当顺序在列表的元素上进行迭代的迭代器。

实现List的接口的有以下类

List的继承图

List的所有抽象方法

在这里插入图片描述

ArrayList类的常用方法

因为实现了List接口,就实现了List接口所有的方法
add(E e)方法,向尾部加入元素,成功则返回true。
在这里插入图片描述
add(int index,E e)方法
在索引位置加入元素,size - index常用于寻找倒数第k的链表的值,当然这个arraycopy复制数组底层是用c/c++编写的,我就不在赘述了。
在这里插入图片描述

移除索引处的元素,等于null让gc自动回收掉这个元素如果List的泛型是Integer要注意了!!! 看下面代码

在这里插入图片描述

remove(Object o)方法和remove(int index)
移除与元素相等的出现的第一个Obeject 如果List的泛型是Integer要注意了!!! 看下面代码

在这里插入图片描述

java有个自动装箱机制所以在List里面的类型是Integer,所以当你移除填写int时候,默认当成index不会执行remove(Object o),而是执行了remove(int index)。

在这里插入图片描述

执行结果

在这里插入图片描述

LinkedList类的常用方法

实现和继承如下
在这里插入图片描述
在这里插入图片描述

add

boolean add(E e):在链表后添加一个元素,如果成功,返回true,否则返回false;
void addFirst(E e):在链表头部插入一个元素;
addLast(E e):在链表尾部添加一个元素;
void add(int index, E element):在指定位置插入一个元素。
在这里插入图片描述

remove

E remove();移除链表中第一个元素;
boolean remove(Object o):移除链表中指定的元素;
E remove(int index):移除链表中指定位置的元素;
E removeFirst():移除链表中第一个元素,与remove类似;
E removeLast():移除链表中最后一个元素;
boolean removeFirstOccurrence(Object o):移除链表中第一次出现所在位置的元素;
boolean removeLastOccurrence(Object o):移除链表中最后一次出现所在位置的元素;
在这里插入图片描述

get

E get(int index):按照下边获取元素;
E getFirst():获取第一个元素;
E getLast():获取最后一个元素;
在这里插入图片描述

push、pop

void push(E e):与addFirst一样,实际上它就是addFirst;
E pop():与removeFirst一样,实际上它就是removeFirst ,没有元素会抛出异常

offer、poll、peek(都有返回值不抛出异常)

boolean offer(E e):在链表尾部插入一个元素 不会抛出异常
boolean offerFirst(E e):与addFirst一样,实际上它就是addFirst;
boolean offerLast(E e):与addLast一样,实际上它就是addLast;

E poll():查询并移除第一个元素 没有元素 不会抛出异常,返回一个null
E pollFirst():查询并移除第一个元素,和poll用法一样;
E pollLast():查询并移除最后一个元素;

E peek():获取第一个元素,但是不移除 不会抛出异常,返回一个null
E peekFirst():获取第一个元素,但是不移除;
E peekLast():获取最后一个元素,但是不移除;

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值