gpt4 book ai didi

java - Java 中是否可以定义任意高度嵌套的数组?

转载 作者:行者123 更新时间:2023-12-02 03:38:26 26 4
gpt4 key购买 nike

在 JavaScript 中,我们可以灵活地定义任意、高度嵌套的数组。例如下面的。

var arr1 = [ [0, 1], [2, 3] ];
var arr2 = [
[ [0, 1], [2, 3] ],
[ [4, 5], [6, 7] ]
];

在Java中是否可以为类的字段定义类似的东西?该字段必须能够存储嵌套数组的任意维度/深度。

我正在考虑使用列表列表。

List<List<Integer>> arr = new ArrayList<>();

但是,从某种意义上来说,这只是一个二维矩阵。请注意,该索引对于我的用例来说很重要(它有意义)。

我想我也可以创建一个树结构,但这可能需要一些不简单的工作才能正确实现。

public class Node {
int index; //like the index of an array i want, unique amongst nodes of same level sharing a common parent
List<Integer> values; //the actual elements, if any
List<Node> children; //nesting deeper
}

如有任何提示,我们将不胜感激。

最佳答案

Java 是一种强类型语言,您在声明数组时就定义了数组的维数。就像,

int[][] arr1 = { { 0, 1 }, { 2, 3 } };
int[][][] arr2 = { { { 0, 1 }, { 2, 3 } }, { { 4, 5 }, { 6, 7 } } };
System.out.println(Arrays.deepToString(arr2));

但是,也可以使 Object 引用任何数组(因为数组是 Object 实例)。在上面的示例中,请注意签名是 Arrays.deepToString(Object[]) .

关于java - Java 中是否可以定义任意高度嵌套的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37151691/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com