跳转至

Java 中 ArrayList 的长度相关探究

简介

在 Java 编程里,ArrayList 是极为常用的动态数组实现类。了解 ArrayList 的长度相关知识对正确使用它至关重要。本文将围绕 ArrayList 长度展开全面探讨,涵盖基础概念、使用方法、常见实践和最佳实践,助力读者深入理解并高效运用。

目录

  1. 基础概念
  2. 使用方法
  3. 常见实践
  4. 最佳实践
  5. 小结
  6. 参考资料

基础概念

什么是 ArrayList

ArrayList 是 Java 集合框架中的一员,继承自 AbstractList 类并实现了 List 接口。它以动态数组的形式存储元素,大小可随元素添加或移除动态变化。

长度的含义

ArrayList 里,“长度”通常指两个概念: - 大小(size):表示 ArrayList 中实际存储的元素数量。可通过 size() 方法获取。 - 容量(capacity):表示 ArrayList 内部数组能容纳的元素数量。当元素数量超出容量时,ArrayList 会自动扩容。

使用方法

获取 ArrayList 的大小

可使用 size() 方法获取 ArrayList 中实际存储的元素数量。示例代码如下:

import java.util.ArrayList;

public class ArrayListSizeExample {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("apple");
        list.add("banana");
        list.add("cherry");

        int size = list.size();
        System.out.println("ArrayList 的大小是: " + size);
    }
}

初始化 ArrayList 的容量

创建 ArrayList 时,可指定初始容量。示例代码如下:

import java.util.ArrayList;

public class ArrayListCapacityExample {
    public static void main(String[] args) {
        // 初始化容量为 10 的 ArrayList
        ArrayList<Integer> list = new ArrayList<>(10);
        System.out.println("ArrayList 的初始容量是: " + list.size());
    }
}

常见实践

遍历 ArrayList

可结合 size() 方法遍历 ArrayList 中的元素。示例代码如下:

import java.util.ArrayList;

public class ArrayListTraversalExample {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("dog");
        list.add("cat");
        list.add("bird");

        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }
    }
}

判断 ArrayList 是否为空

可通过 size() 方法判断 ArrayList 是否为空。示例代码如下:

import java.util.ArrayList;

public class ArrayListEmptyCheckExample {
    public static void main(String[] args) {
        ArrayList<Integer> list = new ArrayList<>();
        if (list.size() == 0) {
            System.out.println("ArrayList 为空");
        } else {
            System.out.println("ArrayList 不为空");
        }
    }
}

最佳实践

避免频繁扩容

由于 ArrayList 扩容会带来性能开销,若事先知晓元素大致数量,可在创建时指定初始容量。示例代码如下:

import java.util.ArrayList;

public class ArrayListInitialCapacityBestPractice {
    public static void main(String[] args) {
        int expectedSize = 100;
        ArrayList<String> list = new ArrayList<>(expectedSize);
        for (int i = 0; i < expectedSize; i++) {
            list.add("element " + i);
        }
    }
}

使用增强 for 循环遍历

若无需使用索引,建议使用增强 for 循环遍历 ArrayList,代码更简洁。示例代码如下:

import java.util.ArrayList;

public class ArrayListEnhancedForLoopExample {
    public static void main(String[] args) {
        ArrayList<Double> list = new ArrayList<>();
        list.add(1.1);
        list.add(2.2);
        list.add(3.3);

        for (double num : list) {
            System.out.println(num);
        }
    }
}

小结

本文围绕 Java 中 ArrayList 的长度相关知识进行了全面介绍。我们了解了 ArrayList 大小和容量的概念,掌握了获取大小、初始化容量的方法,学习了常见的遍历和判断是否为空的实践,还探讨了避免频繁扩容和使用增强 for 循环等最佳实践。合理运用这些知识,能让我们更高效地使用 ArrayList

参考资料

  • 《Effective Java》,作者:Joshua Bloch