Java 中的 List 集合

文章目录

List 是 Java 集合框架中的一个接口,它表示一个有序的集合(序列),允许存储重复的元素。List 接口提供了许多方法来操作列表中的元素。以下是一些常用的 List 方法及其示例:

添加元素

add(E e):列表的末尾添加指定的元素。

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

java 复制代码
List<String> list =new ArrayList<>();  
list.add("Apple"); // 在末尾添加元素  
list.add(1, "Banana"); // 在索引1的位置插入元素  
System.out.println(list); // 输出: [Apple, Banana]  

获取元素

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

java 复制代码
List<String> list = new ArrayList<>();  
list.add("Apple");  
list.add("Banana");  
list.add("Cherry");  
String fruit = list.get(1); // 获取索引1的元素  
System.out.println(fruit); // 输出: Banana  

检查元素

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

java 复制代码
List<String> list = new ArrayList<>();  
list.add("Apple");  
list.add("Banana");  
boolean containsBanana = list.contains("Banana");  
System.out.println(containsBanana); // 输出: true  

删除元素

remove(int index):除列表中指定位置的元素。

remove(Object o):移除列表中首次出现的指定元素。

java 复制代码
List<String> list = new ArrayList<>();  
list.add("Apple");  
list.add("Banana");  
list.add("Cherry");  
list.remove(1); // 移除索引1的元素  
System.out.println(list); // 输出: [Apple, Cherry]  

list.remove("Apple"); // 移除元素Apple  
System.out.println(list); // 输出: [Cherry]  

修改元素

可以通过索引直接修改 List 中的元素,因为 List 允许随机访问。

java 复制代码
List<String> list = new ArrayList<>();  
list.add("Apple");  
list.add("Banana");  
list.set(0, "Orange"); // 修改索引0的元素为Orange  
System.out.println(list); // 输出: [Orange, Banana]  

获取列表大小

size():返回列表中的元素数量。

java 复制代码
List<String> list = new ArrayList<>();  
list.add("Apple");  
list.add("Banana");  
int size = list.size(); // 获取列表大小  
System.out.println(size); // 输出: 2  

检查列表是否为空

isEmpty():如果此列表不包含元素,则返回 true。

java 复制代码
List<String> list = new ArrayList<>();  
boolean isEmpty = list.isEmpty(); // 检查列表是否为空  
System.out.println(isEmpty); // 输出: true  

list.add("Apple");  
isEmpty = list.isEmpty(); // 再次检查列表是否为空  
System.out.println(isEmpty); // 输出: false  

清空列表

clear():移除列表中的所有元素。

java 复制代码
List<String> list = new ArrayList<>();  
list.add("Apple");  
list.add("Banana");  
list.clear(); // 清空列表  
System.out.println(list.isEmpty()); // 输出: true,因为列表已被清空  

查找元素索引

indexOf(Object o):返回此列表中首次出现的指定元素的索引,如果此列表不包含该元素,则返回 -1。

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

java 复制代码
List<String> list = new ArrayList<>();  
list.add("Apple");  
list.add("Banana");  
list.add("Apple");  

int index = list.indexOf("Apple"); // 查找首次出现的Apple的索引  
System.out.println(index); // 输出: 0  

int lastIndex = list.lastIndexOf("Apple"); // 查找最后一次出现的Apple的索引  
System.out.println(lastIndex); // 输出: 2  

int notFoundIndex = list.indexOf("Cherry"); // 查找不存在的元素  
System.out.println(notFoundIndex); // 输出: -1  

获取列表的子列表

subList(int fromIndex, int toIndex):返回列表中指定的 fromIndex(包括)和 toIndex(不包括)之间的部分视图。

java 复制代码
List<String> list = new ArrayList<>();  
list.add("Apple");  
list.add("Banana");  
list.add("Cherry");  
list.add("Date");  

List<String> subList = list.subList(1, 3); // 获取索引1到3(不包含3)的子列表  
System.out.println(subList); // 输出: [Banana, Cherry] 
相关推荐
丘山一郎15 小时前
Spring 中的IOC控制反转 和DI依赖注入
java·后端·spring
码视野15 小时前
基于 Spring Boot + Vue3 的【大学英语四六级 (CET-4/6) 作文智能评分与句式润色系统】设计与实现(含PRD/三端高保真源码/大屏)
java·前端·人工智能·spring boot·后端·vue3
MetaLite15 小时前
Spring-AOP自调用为什么失效-AopContext真能解决吗
java·后端·spring
大模型码小白16 小时前
AI 对话流性能调优:万级消息的虚拟滚动落地
java·大数据·前端·javascript·人工智能·算法·机器学习
许彰午16 小时前
14-字段级SM4加密与SM2签名
java·低代码·架构
许彰午18 小时前
13-describe元数据输出
java·低代码·架构·状态模式
用户37215742613519 小时前
Java 设置 Word 文档编辑限制并允许指定区域编辑
java
宠友信息19 小时前
社区类源码开发实践中的仿小红书系统技术要点分析
java·spring boot·redis·mysql·uni-app·vue·内容运营
用户37215742613519 小时前
Java 设置 PDF 表单域只读或扁平化
java
luteres20 小时前
Spring学习笔记
java·后端·spring