17370845950

如何在向 ArrayList 添加元素前获取其当前大小

arraylist 的 `size()` 方法可随时调用,初始化后未添加任何元素时返回 0,是判断集合初始状态的可靠方式。

在 Java 中,ArrayList 是动态数组实现,其 size() 方法返回当前实际存储的元素个数(而非底层数组容量)。即使你刚刚声明并初始化了一个空 ArrayList,只要尚未调用 add()、addAll() 等修改方法,size() 就始终返回 0。

例如:

import java.util.ArrayList;
import java.util.Scanner;

public class ArrayListSizeDemo {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        ArrayList value = new ArrayList<>(); // 初始化空列表

        System.out.println("Current size before input: " + value.size()); // 输出:0

        System.out.print("Enter the number of elements needed: ");
        int n = in.nextInt();

        for (int i = 1; i <= n; i++) {
            System.out.printf("Enter value %d: ", i);
            value.add(in.nextInt());
        }

        System.out.println("Final size: " + value.size()); // 输出用户输入的元素总数
    }
}

关键点说明:

  • size() 是 O(1) 操作,安全高效,无需担心性能开销;
  • 不要混淆 size() 与 capacity()(后者无公共 API,ArrayList 内部容量需通过反射或 ensureCapacity() 间接推断);
  • 即使执行 value.clear() 或 value.removeAll(...), size() 同样即时反映当前元素数量。

? 提示:在用户输入流程开始前打印 value.size(),不仅能验证初始化状态,还可作为调试锚点,帮助确认逻辑是否按预期从空集合起步。