📜  Java中 ArrayList 的内部工作(1)

📅  最后修改于: 2023-12-03 15:31:49.094000             🧑  作者: Mango

Java中 ArrayList 的内部工作

简介

ArrayList 是 Java 中常见的动态数组。它允许程序员在列表末尾动态添加或删除元素,同时也允许通过索引位置访问元素。

在本文中,我们将探讨 ArrayList 的内部实现以及它的一些重要方法。

内部实现

在 Java 中,ArrayList 是通过数组来实现的。当我们创建一个 ArrayList 对象时,实际上是在内存中分配了一个数组来存储该 ArrayList 中的元素。

数组的长度根据程序员添加或删除元素的操作而动态变化。当 ArrayList 中的元素数量增加时,数组的长度也会自动增长;当元素数量减少时,数组的长度也会相应缩短。

以下是一个简单的 Java 代码,演示了如何使用 ArrayList:

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        ArrayList<String> fruits = new ArrayList<String>();

        fruits.add("apple");
        fruits.add("banana");
        fruits.add("orange");

        System.out.println("The size of fruits is " + fruits.size());
        System.out.println("The element at index 1 is " + fruits.get(1));

        fruits.remove(1);

        System.out.println("The size of fruits is " + fruits.size());
        System.out.println("The element at index 1 is " + fruits.get(1));
    }
}

输出:

The size of fruits is 3
The element at index 1 is banana
The size of fruits is 2
The element at index 1 is orange
重要方法

ArrayList 提供了一些重要的方法,下面我们将介绍其中的一些。

add(E element)

该方法将指定元素添加到 ArrayList 的末尾。如果 ArrayList 的长度不够,它将自动增长。

ArrayList<String> fruits = new ArrayList<String>();

fruits.add("apple");
fruits.add("banana");
fruits.add("orange");

System.out.println(fruits);  // [apple, banana, orange]

输出:

[apple, banana, orange]
size()

该方法返回 ArrayList 中元素的数量。

ArrayList<String> fruits = new ArrayList<String>();

fruits.add("apple");
fruits.add("banana");
fruits.add("orange");

System.out.println(fruits.size());  // 3

输出:

3
get(int index)

该方法返回 ArrayList 中指定索引位置的元素。

ArrayList<String> fruits = new ArrayList<String>();

fruits.add("apple");
fruits.add("banana");
fruits.add("orange");

System.out.println(fruits.get(1));  // banana

输出:

banana
remove(int index)

该方法从 ArrayList 中删除指定索引位置的元素。删除元素后,索引位置会自动前移。

ArrayList<String> fruits = new ArrayList<String>();

fruits.add("apple");
fruits.add("banana");
fruits.add("orange");

fruits.remove(1);

System.out.println(fruits);  // [apple, orange]

输出:

[apple, orange]
set(int index, E element)

该方法替换 ArrayList 中指定索引位置的元素。

ArrayList<String> fruits = new ArrayList<String>();

fruits.add("apple");
fruits.add("banana");
fruits.add("orange");

fruits.set(1, "kiwi");

System.out.println(fruits);  // [apple, kiwi, orange]

输出:

[apple, kiwi, orange]
结论

在 Java 中,ArrayList 是一种非常方便的数据结构。它的内部实现是基于数组的,它允许程序员在列表末尾动态添加或删除元素,同时也允许通过索引位置访问元素。我们探讨了 ArrayList 的内部实现以及它的一些重要方法,希望对您有所帮助。