外贸网站每天多少ip,Linux备份wordpress,广州网站建设信科公司,做的好的微商城网站1. 什么是 List#xff1f;
在 Java 中#xff0c;List 是一个接口#xff0c;属于 Java Collections Framework。它表示一个有序的集合#xff0c;可以包含重复元素。List 接口允许通过索引访问元素#xff0c;提供了多种实现方式#xff0c;如 ArrayList 和 LinkedLis…1. 什么是 List
在 Java 中List 是一个接口属于 Java Collections Framework。它表示一个有序的集合可以包含重复元素。List 接口允许通过索引访问元素提供了多种实现方式如 ArrayList 和 LinkedList。
2. List 的特点
有序性元素的插入顺序被保存可以通过索引访问元素。可重复性可以存放重复的元素。动态大小与数组不同List 的大小可以动态调整。
3. List 的常用实现类
3.1 ArrayList
基于动态数组实现。随机访问速度快插入和删除操作较慢特别是在中间位置。适合于频繁查询但不频繁修改的场景。
示例代码
import java.util.ArrayList;ArrayListString list new ArrayList();
list.add(Hello);
list.add(World);
list.add(Hello); // 允许重复元素System.out.println(list.get(0)); // 输出: Hello
System.out.println(list.size()); // 输出: 33.2 LinkedList
基于双向链表实现。插入和删除操作效率高特别是在中间位置。随机访问速度慢因为需要遍历链表。
示例代码
import java.util.LinkedList;LinkedListString linkedList new LinkedList();
linkedList.add(Hello);
linkedList.add(World);
linkedList.addFirst(Start); // 在链表头部插入System.out.println(linkedList.get(1)); // 输出: Hello
System.out.println(linkedList.size()); // 输出: 34. List 接口的常用方法
当然可以以下是关于 Java 中 List 接口的常用方法的详细介绍包括代码示例。
4. List 接口的常用方法及示例
4.1 添加元素
add(E e)在列表末尾添加元素。
import java.util.ArrayList;ArrayListString list new ArrayList();
list.add(Apple);
list.add(Banana);
list.add(Cherry);System.out.println(list); // 输出: [Apple, Banana, Cherry]add(int index, E element)在指定位置插入元素。
list.add(1, Orange); // 在索引1的位置插入元素
System.out.println(list); // 输出: [Apple, Orange, Banana, Cherry]4.2 获取元素
get(int index)返回指定位置的元素。
String fruit list.get(2);
System.out.println(fruit); // 输出: Banana4.3 修改元素
set(int index, E element)用指定元素替换指定位置的元素。
list.set(0, Grapes); // 将索引0的元素替换为Grapes
System.out.println(list); // 输出: [Grapes, Orange, Banana, Cherry]4.4 删除元素
remove(int index)移除指定位置的元素。
list.remove(1); // 移除索引1的元素
System.out.println(list); // 输出: [Grapes, Banana, Cherry]remove(Object obj)移除列表中第一次出现的指定元素。
list.remove(Banana); // 移除元素Banana
System.out.println(list); // 输出: [Grapes, Cherry]4.5 查找元素
indexOf(Object o)返回指定元素第一次出现的索引若不存在则返回 -1。
int index list.indexOf(Cherry);
System.out.println(index); // 输出: 1contains(Object o)检查列表中是否包含指定元素。
boolean containsGrapes list.contains(Grapes);
System.out.println(containsGrapes); // 输出: true4.6 其他方法
size()返回列表中的元素数量。
int size list.size();
System.out.println(size); // 输出: 2isEmpty()检查列表是否为空。
boolean isEmpty list.isEmpty();
System.out.println(isEmpty); // 输出: falseclear()清空列表。
list.clear();
System.out.println(list); // 输出: []toArray()将列表转化为数组。
list.add(Mango);
list.add(Peach);
Object[] fruitsArray list.toArray();
for (Object fruit : fruitsArray) {System.out.println(fruit); // 输出: Mango, Peach
}5. List 的时间复杂度
操作ArrayListLinkedList添加元素 (末尾)O(1)O(1)添加元素 (指定位置)O(n)O(n)获取元素O(1)O(n)删除元素O(n)O(n)查找元素O(n)O(n)
6. 总结
List 接口是 Java 集合框架的重要组成部分提供了灵活的动态数组和链表实现。通过理解不同实现的特点及其适用场景能够帮助我们在编程中做出更合适的选择。
练习
使用 ArrayList 实现一个简单的待办事项列表支持添加、删除和查看待办事项。使用 LinkedList 实现一个简单的浏览历史记录支持前进和后退操作。
通过这些练习你将加深对 Java 中 List 接口的理解和使用。希望这份笔记能帮助你更好地学习和掌握 Java 中的集合