Java 中 ArrayList 的长度相关探究
简介
在 Java 编程里,ArrayList
是极为常用的动态数组实现类。了解 ArrayList
的长度相关知识对正确使用它至关重要。本文将围绕 ArrayList
长度展开全面探讨,涵盖基础概念、使用方法、常见实践和最佳实践,助力读者深入理解并高效运用。
目录
- 基础概念
- 使用方法
- 常见实践
- 最佳实践
- 小结
- 参考资料
基础概念
什么是 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