Java 中的动态初始化数组189


前言

在 Java 中,数组是一种固定大小的数据结构,一旦创建,其长度就不能动态更改。然而,有时我们可能需要在运行时根据应用程序需要初始化数组的大小。本文将介绍在 Java 中动态初始化数组的各种方法。

创建具有固定大小的数组

要创建具有固定大小的数组,可以使用以下语法:```java
int[] arr = new int[size];
```

其中 size 是数组的大小。例如,要创建大小为 10 的数组,我们可以这样写:```java
int[] arr = new int[10];
```

使用 ArrayList

一种替代创建数组的动态数据结构是 ArrayList。ArrayList 是一个可变大小的数组,可以自动增长和缩小。要使用 ArrayList,可以使用以下步骤:
导入 包。
创建 ArrayList 对象。
使用 add() 方法将元素添加到 ArrayList 中。
使用 size() 方法获取 ArrayList 的大小。

以下代码演示如何使用 ArrayList:```java
import ;
public class Main {
public static void main(String[] args) {
// 创建 ArrayList
ArrayList names = new ArrayList();
// 添加元素
("John");
("Mary");
("Bob");
// 获取 ArrayList 的大小
int size = ();
// 迭代 ArrayList
for (String name : names) {
(name);
}
}
}
```

使用 () 方法

类提供了 copyOf() 方法,它可以创建具有指定长度的新数组,其中包含指定原数组的元素。要使用 copyOf() 方法,可以使用以下步骤:
导入 包。
创建源数组。
调用 copyOf() 方法,指定新数组的长度。

以下代码演示如何使用 copyOf() 方法:```java
import ;
public class Main {
public static void main(String[] args) {
// 创建源数组
int[] arr = {1, 2, 3, 4, 5};
// 创建一个新数组,其中包含源数组的元素,长度为 3
int[] newArr = (arr, 3);
// 打印新数组
for (int element : newArr) {
(element);
}
}
}
```

手动实现动态数组

除了使用 ArrayList 和 copyOf() 方法之外,还可以手动实现自己的动态数组。这可以通过以下步骤完成:
创建一个私有数组来存储元素。
创建公共方法来访问和修改数组。
创建一个私有方法来管理数组的增长和缩小。

以下代码演示如何手动实现动态数组:```java
public class DynamicArray {
private int[] arr;
private int size;
public DynamicArray() {
arr = new int[10];
size = 0;
}
public void add(int element) {
if (size == ) {
int[] newArr = new int[ * 2];
for (int i = 0; i < ; i++) {
newArr[i] = arr[i];
}
arr = newArr;
}
arr[size++] = element;
}
public int get(int index) {
if (index < 0 || index >= size) {
throw new IndexOutOfBoundsException();
}
return arr[index];
}
public void remove(int index) {
if (index < 0 || index >= size) {
throw new IndexOutOfBoundsException();
}
for (int i = index + 1; i < size; i++) {
arr[i - 1] = arr[i];
}
size--;
}
public int size() {
return size;
}
}
```

Java 中有几种方法可以动态初始化数组,包括使用 ArrayList、copyOf() 方法和手动实现。根据应用程序的特定需求,选择最合适的方法至关重要。

2024-12-02


上一篇:在 Java 中高效遍历数据库

下一篇:Java NIO 高性能网络编程