概述
在 Java 中,列表(List) 是一种有序的集合,它允许元素重复,并且每个元素都有一个对应的索引值。Java 提供了 List 接口及其实现类,用于表示和操作列表数据。常用的实现类包括 ArrayList、LinkedList 和 Vector。
1、List接口概述
List 是 Java 集合框架中的一种接口,继承自 Collection 接口。它定义了许多常见的操作,如:
添加元素:add(E e)、add(int index, E element)
删除元素:remove(Object o)、remove(int index)
获取元素:get(int index)
修改元素:set(int index, E element)
查找元素:indexOf(Object o)、lastIndexOf(Object o)
获取列表大小:size()
判断是否包含元素:contains(Object o)
List 接口的常见方法:
add(E e):将元素添加到列表的末尾。
add(int index, E element):将元素插入到指定位置。
get(int index):返回指定位置的元素。
set(int index, E element):用指定元素替换指定位置的元素。
remove(int index):移除指定位置的元素。
remove(Object o):移除指定的元素。
contains(Object o):判断列表是否包含某个元素。
indexOf(Object o):返回某个元素首次出现的索引,若不存在则返回 -1。
size():返回列表的大小(元素个数)。
isEmpty():判断列表是否为空。
2、常见的List实现类
Java 提供了几种 List 接口的实现类,常用的有:
ArrayList:基于动态数组实现的列表,提供快速的随机访问,但插入和删除操作相对较慢,尤其是在中间插入时。
LinkedList:基于双向链表实现的列表,提供较快的插入和删除操作,但随机访问较慢。
Vector:类似于 ArrayList,但它是同步的,适用于多线程环境,不过现在通常推荐使用 ArrayList,除非你有线程安全的需求。
2-1、ArrayList
ArrayList 是基于数组实现的动态大小的列表。它提供了按索引快速访问元素的能力。虽然它的删除和插入操作相对较慢(特别是在中间位置),但其查找操作非常快速。
import java.util.ArrayList;
import java.util.List;
public class ArrayListExample {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
// 添加元素
list.add("Alice");
list.add("Bob");