【Java学习】List 大揭秘:8大功能方法,你真的用对了吗?
🌟探索编程世界:关注墨瑾轩🌟
🌟轻松掌握技术要点:成为编程高手的小窍门🌟
🌟技术宝库 door-opening: 等你来解锁🌟
🌟订阅墨瑾轩:开启智慧学习之旅🌟
🌟即刻上路:让编程变得有趣又实用🌟


List 大揭秘:8大功能方法,你真的用对了吗?
前言
大家好呀!今天就让我们深入探讨Java中的List接口及其常见实现类吧。在Java集合框架中,《List》接口因其强大的功能特性而备受青睐。它提供了有序存储和访问元素的功能,并且能通过掌握其各种核心方法显著提升代码运行效率。那么这些核心功能你是否真正掌握了呢?今天我们将一起系统学习《List》的8个实用功能模块
1. add(E e) 和 add(int index, E element)
这两种技术均可应用于在列表中添加元素的操作。具体而言,在add(E e)实现中会将新元素附加至列表末尾,在add(int index, E element)实现中则会根据指定索引位置插入新元素。
1.1 示例代码
import java.util.ArrayList;
import java.util.List;
public class AddExample {
public static void main(String[] args) {
// 创建一个 ArrayList
List<String> list = new ArrayList<>();
// 在列表末尾添加元素
list.add("Apple");
list.add("Banana");
// 打印列表
System.out.println("List after adding elements at the end: " + list);
// 在指定位置插入元素
list.add(1, "Cherry");
// 打印列表
System.out.println("List after adding element at index 1: " + list);
}
}
代码解读
1.2 代码解析
- 创建一个
ArrayList实例- 使用以下代码初始化变量:
List list = new ArrayList<>();
- 使用以下代码初始化变量:
- 将字符串 "Apple" 添加至列表末尾
- 示例代码:
list.add("Apple");
- 示例代码:
- 输出:"列表已成功追加元素"
- 示例代码:
System.out.println("List after adding elements at the end: " + list);
- 示例代码:
- 向指定位置插入字符串 "Cherry"
- 示例代码:
list.add(1, "Cherry");
- 示例代码:
- 输出:"列表已成功在索引1处添加新元素"
2. remove(int index) 和 remove(Object o)
这两种方法均用于从列表中删除元素。remove(int index) 按索引删除对应的元素,而 remove(Object o) 按对象类型查找并删除首次匹配的内容。
2.1 示例代码
import java.util.ArrayList;
import java.util.List;
public class RemoveExample {
public static void main(String[] args) {
// 创建一个 ArrayList
List<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Cherry");
// 根据索引移除元素
list.remove(1);
// 打印列表
System.out.println("List after removing element at index 1: " + list);
// 根据对象移除元素
list.remove("Apple");
// 打印列表
System.out.println("List after removing 'Apple': " + list);
}
}
代码解读
2.2 代码解析
- list.remove(1); 通过指定索引位置删除列表元素。
- System.out.println("List after removing index 1: " + list); 输出删除后列表的状态。
- list.remove("Apple"); 基于对象值删除列表中的项。
- System.out.println("List after removing 'Apple'"); 输出删除特定对象后的列表状态。
3. get(int index) 和 set(int index, E element)
这两个方法用于从集合中获取和设置元素。通过get(int index)方法可访问指定索引位置的元素;而set(int index, E element)方法可替换指定索引位置处的现有值。
3.1 示例代码
import java.util.ArrayList;
import java.util.List;
public class GetSetExample {
public static void main(String[] args) {
// 创建一个 ArrayList
List<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Cherry");
// 获取指定索引处的元素
String fruit = list.get(1);
System.out.println("Element at index 1: " + fruit);
// 替换指定索引处的元素
list.set(1, "Date");
// 打印列表
System.out.println("List after setting element at index 1: " + list);
}
}
代码解读
3.2 代码解析
- String fruit = list.get(1); 从列表中取出索引位置1处的值。
- System.out.println("Element at index 1: " + fruit); 输出所获取的元素信息。
- list.set(1, “Date”); 将列表中索引位置1处的内容更新为"Date"。
- System.out.println("List after setting element at index 1: " + list); 展示更新后的列表状态.
4. indexOf(Object o) 和 lastIndexOf(Object o)
此两个函数旨在实现快速查找列表中元素的位置。\n\nindexOf(Object o) 会给出第一个发现的位置。\n\n而 lastIndexOf(Object o) 则会找到最后出现的位置。\n
4.1 示例代码
import java.util.ArrayList;
import java.util.List;
public class IndexOfExample {
public static void main(String[] args) {
// 创建一个 ArrayList
List<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Cherry");
list.add("Banana");
// 查找第一次出现的索引
int firstIndex = list.indexOf("Banana");
System.out.println("First index of 'Banana': " + firstIndex);
// 查找最后一次出现的索引
int lastIndex = list.lastIndexOf("Banana");
System.out.println("Last index of 'Banana': " + lastIndex);
}
}
代码解读
4.2 代码解析
int firstIndex = list.indexOf(“Banana”);:获取列表中第一个‘Banana’元素的位置。System.out.println("First index of ‘Banana’: " + firstIndex);:输出消息并显示第一个‘Banana’的位置。int lastIndex = list.lastIndexOf(“Banana”);:获取列表中最后一个‘Banana’元素的位置。System.out.println("Last index of ‘Banana’: " + lastIndex);:输出消息并显示最后一个‘ BanAna ’的位置。
5. subList(int fromIndex, int toIndex)
这个方法用于提取一个列表中的子列表段落,起始于fromIndex并终止于但不包含toIndex
5.1 示例代码
import java.util.ArrayList;
import java.util.List;
public class SubListExample {
public static void main(String[] args) {
// 创建一个 ArrayList
List<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Cherry");
list.add("Date");
// 获取子列表
List<String> subList = list.subList(1, 3);
// 打印子列表
System.out.println("SubList: " + subList);
}
}
代码解读
5.2 代码解析
- List subList = list.subList(1, 3); 提取指定范围的子列表元素。
- System.out.println("SubList: " + subList); 显示子列表的具体内容。
6. contains(Object o) 和 containsAll(Collection<?> c)
这两个方法用于检查列表中是否包含特定的元素或一组元素。
6.1 示例代码
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
public class ContainsExample {
public static void main(String[] args) {
// 创建一个 ArrayList
List<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Cherry");
// 检查单个元素
boolean containsBanana = list.contains("Banana");
System.out.println("List contains 'Banana': " + containsBanana);
// 创建另一个集合
Collection<String> fruitsToCheck = new ArrayList<>();
fruitsToCheck.add("Banana");
fruitsToCheck.add("Date");
// 检查多个元素
boolean containsAllFruits = list.containsAll(fruitsToCheck);
System.out.println("List contains all fruits: " + containsAllFruits);
}
}
代码解读
6.2 代码解析
- boolean containsBanana = list.contains(“Banana”);:判断指定单个水果是否存在。
- System.out.println("List contains ‘Banana’: " + containsBanana);:输出是否包含特定水果的信息。
- Collection fruitsToCheck = new ArrayList<>();:初始化用于多元素查找的集合。
- boolean containsAllFruits = list.containsAll(fruitsToCheck);:验证整个水果清单是否存在。
- System.out.println("List contains all fruits: " + containsAllFruits);:输出是否包含所有水果的信息。
7. size() 和 isEmpty()
这两个方法用于获取列表的大小和检查列表是否为空。
7.1 示例代码
import java.util.ArrayList;
import java.util.List;
public class SizeAndEmptyExample {
public static void main(String[] args) {
// 创建一个 ArrayList
List<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
// 获取列表的大小
int size = list.size();
System.out.println("List size: " + size);
// 检查列表是否为空
boolean isEmpty = list.isEmpty();
System.out.println("List is empty: " + isEmpty);
// 清空列表
list.clear();
// 再次检查列表是否为空
isEmpty = list.isEmpty();
System.out.println("List is empty after clearing: " + isEmpty);
}
}
代码解读
7.2 代码解析
- 通过调用
list.size()方法获取当前列表的长度值。 - 将获取到的长度值赋值给变量
size。 - 输出当前列表的大小信息。
- 通过调用
list.isEmpty()方法判断当前列表是否为空。 - 将判断结果赋值给变量
isEmpty。 - 输出包含空状态的信息。
- 调用
list.clear()方法将当前列表中的所有元素清除。 - 再次判断当前列表是否为空,并将结果赋值给变量
isEmpty。 - 输出包含空状态的信息。
8. stream()
这个方法用于将列表转换为流,以便使用 Java 8 的流式 API 进行操作。
8.1 示例代码
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
public class StreamExample {
public static void main(String[] args) {
// 创建一个 ArrayList
List<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Cherry");
// 将列表转换为流
List<String> filteredList = list.stream()
.filter(fruit -> fruit.startsWith("A"))
.collect(Collectors.toList());
// 打印过滤后的列表
System.out.println("Filtered List: " + filteredList);
}
}
代码解读
8.2 代码解析
- list.stream() 将输入列表转换为流对象。
- .filter(fruit -> fruit.startsWith(“A”)) 筛选出起始字符为‘A’的所有水果项。
- .collect(Collectors.toList()) 生成新的列表对象包含筛选后的内容。
- System.out.println("Filtered List: " + filteredList); 输出筛选后的结果集合。
总结
在今天的交流中
互动环节
如果你有任何关于 List 的问题,请随时留言询问。或者对如何使用 List 进行更深入的研究?如果有兴趣,请在评论区留言交流。让我们共同探讨这个问题,并从中受益!
