如何在Java中创建这个嵌套javascript数组的等价物
[[1,2[3]],4]我们可以在Javascript中声明这样的数组,这个数组如何用Java编写?以下内容与我想要的内容类似,但不起作用,因为4不是二维数组。有没有一种方法可以在没有列表的情况下做到这一点如何在Java中创建这个嵌套javascript数组的等价物,javascript,java,arrays,Javascript,Java,Arrays,[[1,2[3]],4]我们可以在Javascript中声明这样的数组,这个数组如何用Java编写?以下内容与我想要的内容类似,但不起作用,因为4不是二维数组。有没有一种方法可以在没有列表的情况下做到这一点 int[][] arrayNestedTest = {{1,2},{3}}; int[][][] arrayNestedTest1 = {arrayNestedTest, 4}; 谢谢您需要最后一个术语位于int[][]中,您可以使用类似 int[][] arrayNestedTest =
int[][] arrayNestedTest = {{1,2},{3}};
int[][][] arrayNestedTest1 = {arrayNestedTest, 4};
谢谢您需要最后一个术语位于
int[][]
中,您可以使用类似
int[][] arrayNestedTest = { { 1, 2 }, { 3 } };
int[][][] arrayNestedTest1 = { arrayNestedTest, { { 4 } } };
System.out.println(Arrays.deepToString(arrayNestedTest1));
输出
[[[1, 2], [3]], [[4]]]
您可以编写包含Int本身或其他节点数组的包装器类:
class Node {
Integer value;
Node[] children;
Node(Node[] ...children) { this.children = children; }
Node(Integer value) { this.value = value; }
}
因此,您可以将其构建为:
Node nested = new Node(
new Node( new Node(1), new Node(2), new Node( new Node(3) ) ),
new Node(4)
);
但是现在使用这些节点真的很复杂。不,这在Java中不起作用。为什么需要这样做?不幸的是,
Java
不能这样工作。你的问题是一个问题。告诉我们你想解决什么问题,而不是寻求解决方案的帮助,这似乎不是正确的方法。根据@JonasW.的回答,这太复杂了。我的建议是不要选择Java
,我想除非你想让你的生活复杂化,否则我也想知道为什么这被否决了,这似乎是个好答案?