3D数组是否比Java中其他类型的数组更好?

3D数组是否比Java中其他类型的数组更好?,java,arrays,Java,Arrays,我是Java新手,在网上看了一段关于2D阵列的视频。但是3D阵列呢 可以用Java制作3D数组吗?如果是,如何做到这一点。另外,使用3个单独的一维阵列(链接在一起)是否等同于使用1个三维阵列?最后,遍历3D数组的效率是多少?在Java中创建3D数组是完全可能的。它只需声明类型T[]数组。三个单独的1D阵列并不等同于一个3D阵列。您需要将n2D数组等效于一个3D数组。遍历3D数组的效率实际上是O(n³)。不,三个1D数组的可能重复与一个3D数组不同。原始整数的3D数组:int[]array您应该使

我是Java新手,在网上看了一段关于2D阵列的视频。但是3D阵列呢


可以用Java制作3D数组吗?如果是,如何做到这一点。另外,使用3个单独的一维阵列(链接在一起)是否等同于使用1个三维阵列?最后,遍历3D数组的效率是多少?

在Java中创建3D数组是完全可能的。它只需声明类型
T[]数组。三个单独的1D阵列并不等同于一个3D阵列。您需要将
n
2D数组等效于一个3D数组。遍历3D数组的效率实际上是O(n³)。

不,三个1D数组的可能重复与一个3D数组不同。原始整数的3D数组:
int[]array您应该使用单个3D数组、3 x 1D数组还是可能使用其他数据结构完全取决于您要解决的问题类型。不知道OP为什么会认为3 1D数组等同于1个3D数组。举个例子,一个3D数组,每个维度有10个元素,总共提供10x10x10=1000个元素。3 1D 10元素数组提供30个元素。显然不同的是,对于那些通过代数/三角/其他方法睡觉的人来说,
O(n³)
是一件好事吗?正如Tim在一篇评论中提到的,你所做的不会影响设计吗?O(n³)意味着穿过n×n×n 3D阵列所需的时间与n³成正比。例如,遍历1×1×1 3D数组需要1次迭代,而遍历2×2×2数组需要8次迭代。但正如Tim所提到的,根据您所做的工作,3D阵列可能不是解决问题的最佳数据结构。