Java 中 List 接口的学习笔记

打印 上一主题 下一主题

主题 828|帖子 828|积分 2484

1. 什么是 List?

在 Java 中,List 是一个接口,属于 Java Collections Framework。它表现一个有序的集合,可以包含重复元素。List 接口允许通过索引访问元素,提供了多种实现方式,如 ArrayList 和 LinkedList。
2. List 的特点



  • 有序性:元素的插入顺序被保存,可以通过索引访问元素。
  • 可重复性:可以存放重复的元素。
  • 动态大小:与数组不同,List 的大小可以动态调解。
3. List 的常用实现类

3.1 ArrayList



  • 基于动态数组实现。
  • 随机访问速率快,插入和删除操作较慢(特别是在中心位置)。
  • 恰当于频繁查询,但不频繁修改的场景。
示例代码
  1. import java.util.ArrayList;
  2. ArrayList<String> list = new ArrayList<>();
  3. list.add("Hello");
  4. list.add("World");
  5. list.add("Hello"); // 允许重复元素
  6. System.out.println(list.get(0)); // 输出: Hello
  7. System.out.println(list.size()); // 输出: 3
复制代码
3.2 LinkedList



  • 基于双向链表实现。
  • 插入和删除操作服从高,特别是在中心位置。
  • 随机访问速率慢,由于需要遍历链表。
示例代码
  1. import java.util.LinkedList;
  2. LinkedList<String> linkedList = new LinkedList<>();
  3. linkedList.add("Hello");
  4. linkedList.add("World");
  5. linkedList.addFirst("Start"); // 在链表头部插入
  6. System.out.println(linkedList.get(1)); // 输出: Hello
  7. System.out.println(linkedList.size()); // 输出: 3
复制代码
4. List 接口的常用方法

固然可以!以下是关于 Java 中 List 接口的常用方法的详细先容,包括代码示例。
4. List 接口的常用方法及示例

4.1 添加元素



  • add(E e):在列表末尾添加元素。
  1. import java.util.ArrayList;
  2. ArrayList<String> list = new ArrayList<>();
  3. list.add("Apple");
  4. list.add("Banana");
  5. list.add("Cherry");
  6. System.out.println(list); // 输出: [Apple, Banana, Cherry]
复制代码


  • add(int index, E element):在指定位置插入元素。
  1. list.add(1, "Orange"); // 在索引1的位置插入元素
  2. System.out.println(list); // 输出: [Apple, Orange, Banana, Cherry]
复制代码
4.2 获取元素



  • get(int index):返回指定位置的元素。
  1. String fruit = list.get(2);
  2. System.out.println(fruit); // 输出: Banana
复制代码
4.3 修改元素



  • set(int index, E element):用指定元素替换指定位置的元素。
  1. list.set(0, "Grapes"); // 将索引0的元素替换为"Grapes"
  2. System.out.println(list); // 输出: [Grapes, Orange, Banana, Cherry]
复制代码
4.4 删除元素



  • remove(int index):移除指定位置的元素。
  1. list.remove(1); // 移除索引1的元素
  2. System.out.println(list); // 输出: [Grapes, Banana, Cherry]
复制代码


  • remove(Object obj):移除列表中第一次出现的指定元素。
  1. list.remove("Banana"); // 移除元素"Banana"
  2. System.out.println(list); // 输出: [Grapes, Cherry]
复制代码
4.5 查找元素



  • indexOf(Object o):返回指定元素第一次出现的索引,若不存在则返回 -1。
  1. int index = list.indexOf("Cherry");
  2. System.out.println(index); // 输出: 1
复制代码


  • contains(Object o):检查列表中是否包含指定元素。
  1. boolean containsGrapes = list.contains("Grapes");
  2. System.out.println(containsGrapes); // 输出: true
复制代码
4.6 其他方法



  • size():返回列表中的元素数目。
  1. int size = list.size();
  2. System.out.println(size); // 输出: 2
复制代码


  • isEmpty():检查列表是否为空。
  1. boolean isEmpty = list.isEmpty();
  2. System.out.println(isEmpty); // 输出: false
复制代码


  • clear():清空列表。
  1. list.clear();
  2. System.out.println(list); // 输出: []
复制代码


  • toArray():将列表转化为数组。
  1. list.add("Mango");
  2. list.add("Peach");
  3. Object[] fruitsArray = list.toArray();
  4. for (Object fruit : fruitsArray) {
  5.     System.out.println(fruit); // 输出: Mango, Peach
  6. }
复制代码
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 中的集合!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

民工心事

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表