如何在 Java 中返回数组?

2024年10月23日 | 阅读 10 分钟

在 Java 中,有几种方法可以从方法中返回数组,每种方法都有其自身的优点和用例。这些方法可大致分为静态数组、动态创建的数组、子数组以及使用 Java Streams 生成的数组。

首先,一种常见的方法是返回一个静态数组,它涉及在方法内直接定义数组元素并返回数组。此方法非常简单,适用于数组元素是预先知道的且保持不变的情况。例如,一个方法可以返回一个包含预定义值(如 {1, 2, 3, 4, 5})的静态数组。

在本节中,我们将学习如何在 Java 中返回数组。

请记住

  • 方法可以返回数组的引用。
  • 方法的返回类型必须声明为正确数据类型的数组。

让我们通过一个 Java 示例程序来详细了解数组。

示例 1

文件名: ArrayDemo.java

输出

How to return an array in Java

示例 2

在以下示例中,该方法返回一个 double 类型的数组。

示例 1

文件名: ReturnArrayExample1.java

输出

How to return an array in Java

示例 2

文件名: ReturnArrayExample2.java

在以下示例中,该方法返回一个 double 类型的数组。

输出

How to return an array in Java

示例 3

文件名: ReturnArrayExample3.java

在以下示例中,该方法返回一个对象类型的数组。

输出

How to return an array in Java

在 Java 中返回数组

在 Java 中返回数组之前,有几个重要事项需要注意,让我们在接下来的段落中详细讨论它们。

  1. 返回数组的方法必须包含与要返回的数组完全相同的数据类型返回类型。方法和数组的返回类型可能因 Java 中可用的大范围数据类型而异,例如int、long、float、double、char、Boolean
  2. 必须精确准确地使用访问修饰符,同时牢记方法的利用和返回以及数组。在这种情况下,必须考虑 static 和 non-static 等声明。
  3. 当一个数组由一个方法返回到另一个方法时,必须有一个具有相同数据类型的相同类型的数组来接受由该方法返回的数据或数组。当接收数组与返回数组的数据类型不同时,会产生错误,程序不会执行。

实施

在 Java 中,返回数组涉及在方法中创建一个数组,然后将其返回给调用者。对于简单的内置数组(即原始数据类型的数组,如 int、double、char 等),方法可以生成并返回一个随机整数数组。此过程包括创建指定大小的整数数组,用随机值填充它,然后将其返回给调用者。例如,可以实现一个 `generateRandomIntArray(int size)` 方法来实现此目的。

在处理对象数组时(其中数组的每个元素都是某个类的对象),方法会创建一个对象数组,初始化这些对象,然后返回该数组。例如,可以使用 `getPeople()` 方法返回一个 `Person` 对象数组,其中每个 `Person` 对象都用姓名和年龄初始化。这演示了创建和返回对象数组的过程。

在涉及多维数组(即数组的数组)的情况下,方法会创建一个多维数组,用值填充它,然后返回它。例如,可以实现一个 `getMultiplicationTable(int size)` 方法来返回一个二维数组,该数组表示指定大小的乘法表。这包括用从 1 到指定大小的每对数字的乘法结果填充数组。

让我们来看看上述重要点的实现。

为了更好地理解这个主题,让我们通过三种不同的情况来看这个主题的实现。

1. 返回内置数组

在此场景或情况下,我们将返回一个数组,该数组将是 Java 中可用的基本数据类型,例如 int、float、char、Boolean、double、long、short 等。

文件名: ArrayReturn.java

输出

1 2 3 4

2. 返回对象数组

我们可以像返回默认数据类型数组一样返回对象数组。让我们看看上述点的实现。

文件名: ArrayReturn1.java

输出

Java - 31 modules
C++ - 26 modules
DSA - 24 modules
DBMS - 12 modules

3. 返回多维数组

多维数组可以描述为存储在数组中的数组。多维数组的最佳示例是二维数组。多维数组的声明和大小基于它们的大小。让我们通过 Java 中的方法来实现如何返回多维数组(二维数组)。

文件名: ArrayReturn3.java

输出

Printing the returned array:
1 2 3 4
5 6 7 8
9 10 11 12

Accessing specific elements:
Element at [0][0]: 1
Element at [1][2]: 7
Element at [2][1]: 10

Sum of all elements: 78

让我们通过一个 Java 示例程序来详细了解如何在 Java 中返回数组。

文件名:ReturnArrayExamples.java

输出

Static Array: [1, 2, 3, 4, 5]
Dynamic Array: [1, 2, 3, 4, 5]
Subarray using Arrays.copyOfRange: [2, 3]
Subarray using System.arraycopy: [2, 3]
Array using Java Streams: [1, 2, 3, 4, 5]

下一个主题Java 教程