Java中的List数组详解

时间:2022-12-29 11:26:51

1. 什么是数组?

  • 在Java中,数组List是一种常用的数据结构,它可以存储一组有序的元素,并提供了许多方法来操作这些元素。
  • 数组List是Java中内置的一种容器类型,它可以存储任何类型的对象,并且支持动态扩展和缩小。
  • 数组List是由Java的java.util包中的List接口和ArrayList类实现的。List接口是一个泛型接口,定义了一组操作List的方法,而ArrayList是List接口的一个具体实现,它内部使用数组来存储元素。

接下来,我们将通过一个案例来了解如何创建和使用数组List.

2.案例展示1

import java.util.ArrayList;
import java.util.List;

public class ArrayListExample {
public static void main(String[] args) {
// 创建一个数组List
List<String> list = new ArrayList<>();

// 向List中添加元素
list.add("Alice");
list.add("Bob");
list.add("Charlie");

// 输出List中的元素数量
System.out.println(list.size()); // 输出3

// 遍历List中的元素
for (String name : list) {
System.out.println(name);
}

// 在指定位置插入元素
list.add(1, "David");

// 删除指定位置的元素
list.remove(2);

// 获取指定位置的元素
System.out.println(list.get(1)); // 输出David

// 清空List中的元素
list.clear();

// 判断List是否为空
System.out.println(list.isEmpty()); // 输出true
}
}

代码解析:
在这段代码中,我们创建了一个数组List,并使用add(int index, E element)方法在指定位置插入了一个新元素,使用remove(int index)方法删除了指定位置的元素,使用get(int index)方法获取了指定位置的元素,然后使用clear()方法清空了List中的元素,最后使用isEmpty()方法判断List是否为空。

运行这段代码,输出如下:

3
Alice
Bob
Charlie
David
true

3.案例展示2

除了上述方法之外,数组List还提供了其他许多有用的方法,例如:

  • set(int index, E element):用指定的元素替换指定位置的元素。
  • subList(int fromIndex, int toIndex):返回列表的一个视图,该视图包括了源列表中索引在 fromIndex(包括)和 toIndex(不包括)之间的元素。
  • indexOf(Object o):返回指定元素在列表中第一次出现的索引,如果列表不包含该元素,则返回 -1。
  • lastIndexOf(Object o):返回指定元素在列表中最后一次出现的索引,如果列表不包含该元素,则返回 -1。
  • contains(Object o):如果列表包含指定元素,则返回 true,否则返回 false。
  • toArray():返回包含列表中所有元素的数组。

下面是一个使用了这些方法的示例代码:

import java.util.ArrayList;
import java.util.List;

public class ArrayListExample {
public static void main(String[] args) {
// 创建一个数组List
List<String> list = new ArrayList<>();
list.add("Alice");
list.add("Bob");
list.add("Charlie");
list.add("David");

// 使用set()方法替换指定位置的元素
list.set(1, "Eve");

// 使用subList()方法获取List的一个视图
List<String> subList = list.subList(1, 3);
System.out.println(subList); // 输出[Eve, Charlie]

// 使用indexOf()方法获取指定元素的索引
System.out.println(list.indexOf("Charlie")); // 输出2

// 使用lastIndexOf()方法获取指定元素的索引
System.out.println(list.lastIndexOf("David")); // 输出3

// 使用contains()方法判断List是否包含指定元素
System.out.println(list.contains("Alice")); // 输出true
System.out.println(list.contains("Evelyn")); // 输出false

// 使用toArray()方法将List转换为数组
String[] array = list.toArray(new String[0]);
for (String s : array) {
System.out.println(s);
}
}
}

代码解析:
在这段代码中,我们创建了一个数组List,并使用add()方法向List中添加了四个元素。然后使用set()方法替换了指定位置的元素,使用subList()方法获取了List的一个视图,使用indexOf()方法获取了指定元素的索引,使用lastIndexOf()方法获取了指定元素的索引,使用contains()方法判断List是否包含指定元素,最后使用toArray()方法将List转换为数组。

运行代码,输出如下:

[Eve, Charlie]
2
3
true
false
Alice
Eve
Charlie
David

如有帮助,麻烦点个赞,如有错误请指出,我是CoderBug,一个跟你一样追风的少年!