Java—List的使用【数据结构】

本文详细介绍了Java集合框架中的各种方法,如boolean.addAll用于添加元素,remove用于删除元素,set和get用于修改和获取元素,以及查找元素的各种方式。同时提到了与求职面试相关的Java核心知识点和学习资源。
摘要由CSDN通过智能技术生成

boolean addAll(Collection<? extends E> c) — 尾插 c 中的元素

将指定集合中的所有对象添加到该集合中, c 表示是要添加到该列表中的元素的集合

? 表示通配符,extends E,表示插入的元素必须是 E 或 其子类

List list = new ArrayList<>();

Collection collection = new ArrayList<>();

collection.add(“Hello”);

collection.add(“World”);

list.addAll(collection);

输出结果:

在这里插入图片描述

boolean addAll(int index, Collection<? extends E> c) — 指定位置插入 c 中的元素

public static void main(String[] args) {

List list = new ArrayList<>();

list.add(“Java”);

list.add(1,“Yolo”);

Collection collection = new ArrayList<>();

collection.add(“Hello”);

collection.add(“World”);

list.addAll(0,collection);

System.out.println(list);

}

输出结果:

在这里插入图片描述


E remove(int index) — 删除 index 位置元素

public static void main(String[] args) {

List list = new ArrayList<>();

list.add(“Java”);

list.add(1,“Yolo”);

list.remove(0);

System.out.println(list);

}

输出结果:

在这里插入图片描述

boolean remove(Object o) — 删除遇到的第一个元素 o

public static void main(String[] args) {

List list = new ArrayList<>();

list.add(“Yolo”);

list.add(“Java”);

list.add(2,“Yolo”);

System.out.println(list);

list.remove(“Yolo”);

System.out.println(list);

}

输出结果:

在这里插入图片描述

void clear() — 清空

public static void main(String[] args) {

List list = new ArrayList<>();

list.add(“Yolo”);

list.add(“Java”);

System.out.println(“清空前:” + list);

list.clear();

System.out.println(“清空后:” + list);

}

输出结果:

在这里插入图片描述


E set(int index,E element) 将下标 index 位置元素设置为 element

此处注意,下标不能越界

public static void main(String[] args) {

List list = new ArrayList<>();

list.add(“Yolo”);

list.add(“Java”);

list.add(2,“Yolo”);

System.out.println(“修改前:” + list);

list.set(1,“Codeing”);

System.out.println(“修改后:” + list);

}

输出结果:

在这里插入图片描述


E get(int index) — 获取下标 index 位置元素

此处注意,下标不能越界

public static void main(String[] args) {

List list = new ArrayList<>();

list.add(“Yolo”);

list.add(“Java”);

list.add(2,“Yolo”);

System.out.println(list);

System.out.println(list.get(0));

}

int indexOf(Object o) — 返回第一个 o 所在下标

public static void main(String[] args) {

List list = new ArrayList<>();

list.add(“Yolo”);

list.add(“Java”);

list.add(2,“Yolo”);

System.out.println(list)

int index = list.indexOf(“Yolo”);

System.out.println(“第一个Yolo所在下标:” + index);

}

输出结果:

在这里插入图片描述

int lastIndexOf(Object o) — 返回最后一个 o 的下标

public static void main(String[] args) {

List list = new ArrayList<>();

list.add(“Yolo”);

list.add(“Java”);

list.add(2,“Yolo”);

System.out.println(list);

int lastIndex = list.lastIndexOf(“Yolo”);

System.out.println(“最后一个Yolo所在下标:” + lastIndex);

}

输出结果:

在这里插入图片描述

补充


boolean contains(Object o) — 判断 o 是否在线性表中

public static void main(String[] args) {

List list = new ArrayList<>();

list.add(“Yolo”);

list.add(“Java”);

list.add(2,“Yolo”);

System.out.println(list);

System.out.println(list.contains(“Java”));

}

输出结果:

在这里插入图片描述

int size( ) — 获取集合中有多少个元素

public static void main(String[] args) {

List list = new ArrayList<>();

list.add(“Yolo”);

list.add(“Java”);

list.add(2,“Yolo”);

System.out.println(list);

System.out.println(list.size());

}

输出结果:3

boolean isEmpty( ) — 判断集合是否为空

public static void main(String[] args) {

List list = new ArrayList<>();

list.add(“Yolo”);

list.add(“Java”);

list.add(2,“Yolo”);

System.out.println(list);

System.out.println(list.isEmpty());

list.clear();

System.out.println(list.isEmpty());

}

输出结果:

在这里插入图片描述

使用 subList 获取子序列

原型:List subList(int fromIndex,int toIndex) — 截取部分 list

.

包含下标为 fromIndex的元素,不包含下标为toIndex的元素

public static void main(String[] args) {

List list = new ArrayList<>();

list.add(“Yolo”);

list.add(“Java”);

list.add(2,“Yolo”);

System.out.println(list);

System.out.println(list.subList(0, 2));

}

输出结果:

在这里插入图片描述

foreach 访问每个元素

public static void main(String[] args) {

List list = new ArrayList<>();

list.add(“Yolo”);

list.add(“Java”);

list.add(2,“Yolo”);

System.out.println(list);

for(String s : list){

System.out.println(s);

}
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

现在正是金三银四的春招高潮,前阵子小编一直在搭建自己的网站,并整理了全套的**【一线互联网大厂Java核心面试题库+解析】:包括Java基础、异常、集合、并发编程、JVM、Spring全家桶、MyBatis、Redis、数据库、中间件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等**

image
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
a开发知识点,真正体系化!**

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

现在正是金三银四的春招高潮,前阵子小编一直在搭建自己的网站,并整理了全套的**【一线互联网大厂Java核心面试题库+解析】:包括Java基础、异常、集合、并发编程、JVM、Spring全家桶、MyBatis、Redis、数据库、中间件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等**

[外链图片转存中…(img-ZtU3zaGE-1713123513064)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值