在 Java 中是否可以从一个函数返回两个或多个数组
我试图从一个函数正常返回两个数组,但遇到错误
Java 中的函数只能返回一个值。如果要返回两个数组,则需要创建一个包含这两个数组的数组(也称为二维数组)并返回它。您以与单个数组相同的方式创建一个,但是您有两组括号,即
int[][] array_stuff = new int[2][7];
,其中有 2 个内部数组,每个数组包含 7 个整数。你用同样的方式索引这些,array_stuff[i][j]
.
java中,一个函数只能返回一个返回值,可以考虑把数组放到一个List或者map中返回值。
在 Java 中不可能返回超过 1 个数组,但是,可以接受另一个数组作为参数并根据需要修改它,并按原样返回另一个数组。 这是返回 2 个数组的解决方法。
或者,您可以返回一个双维数组,然后在调用函数中将它们分成两个不同的数组。
这是一个简单的例子来获得
int[][]
:
public class MyClass {
public static int[][] getArrays() {
final int[] firstArray = new int[]{1, 2, 3};
final int[] secondArray = new int[]{4, 5, 6};
final int[][] result = new int[][]{firstArray, secondArray};
return result;
}
public static void main(String args[]) {
final int[][] arrays = MyClass.getArrays();
for (int i = 0; i < arrays.length; i++) {
for (int j = 0; j < arrays[i].length; j++) {
System.out.println(arrays[i][j]);
}
}
}
}
您也可以使用列表或地图来执行此操作。例如:
import java.util.*;
public class MyClass {
public static List<int[]> getArraysList() {
final List list = new ArrayList<int[]>();
final int[] firstArray = new int[]{1, 2, 3};
final int[] secondArray = new int[]{4, 5, 6};
list.add(firstArray);
list.add(secondArray);
return list;
}
public static void main(String args[]) {
final List<int[]> arraysList = MyClass.getArraysList();
for (int[] intArray : arraysList) {
for (int i = 0; i < intArray.length; i++) {
System.out.println(intArray[i]);
}
}
}
}