Java中的List数组详解

210 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

Hello,我是CoderBug,今天我们来讲讲Java中的数据List

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,一个跟你一样追风的少年!