如何从 java 中的函数返回多个数组

问题描述 投票:0回答:4

在 Java 中是否可以从一个函数返回两个或多个数组

我试图从一个函数正常返回两个数组,但遇到错误

java arrays return
4个回答
0
投票

Java 中的函数只能返回一个值。如果要返回两个数组,则需要创建一个包含这两个数组的数组(也称为二维数组)并返回它。您以与单个数组相同的方式创建一个,但是您有两组括号,即

int[][] array_stuff = new int[2][7];
,其中有 2 个内部数组,每个数组包含 7 个整数。你用同样的方式索引这些,
array_stuff[i][j]
.


0
投票

java中,一个函数只能返回一个返回值,可以考虑把数组放到一个List或者map中返回值。


0
投票

在 Java 中不可能返回超过 1 个数组,但是,可以接受另一个数组作为参数并根据需要修改它,并按原样返回另一个数组。 这是返回 2 个数组的解决方法。

或者,您可以返回一个双维数组,然后在调用函数中将它们分成两个不同的数组。


0
投票

这是一个简单的例子来获得

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]);
          }
      }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.