java - Java中如何将数组与数组列表结合起来?

标签 java arrays arraylist

我需要一个 Java 中的 5 维数据结构,所有单元格的类型为“double”。对于 3 个维度,我知道其大小,因此它适合数组类别。但对于 2 维我事先不知道大小;看起来像ArrayList。 我过去已经能够管理 3 个维度的组合:

ArrayList(Double)[][] prXifY = (ArrayList(Double)[][]) new ArrayList[m][n];

但是,尽管我花了很长时间(并通过网络搜索)来研究它,但我无法扩展它。我需要这样的东西:

ArrayList(ArrayList(Double))[][][] prXiXjY = (ArrayList(ArrayList(Double))[][][]) new ArrayList(ArrayList<Double))[m][m][n];

当我尝试上面的代码时,它说: “无法创建 ArrayList(ArrayList(Double)) 的通用数组”

我将不胜感激快速而完整的答案。

顺便说一下,这是我的第一篇文章。我尽力做好事前查找工作,把问题解释清楚。对这些问题的评论也受到赞赏。 :)

最佳答案

ArrayList 是一个对象,其实例化方式与数组不同。一般来说,要说你想要一个保存 double 的 ArrayList,你可以使用类似的东西:

ArrayList<Double> list = new ArrayList<Double>();

指定您有一个 ArrayList,其中包含包含 double 的 ArrayList...

ArrayList<ArrayList<Double>> list = new ArrayList<ArrayList<Double>>();

我希望你明白这是怎么回事。

这只是创建顶级列表 - 它本身不会创建任何单元格。为此,您需要额外的 new 语句。这很快就会变得困惑,您可能需要停下来考虑是否有比 5 维数组更好的方法来存储数据。

关于java - Java中如何将数组与数组列表结合起来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28639281/

相关文章:

java - 在 Activity 之间放置和获取 DoubleArray 值

java - 正则表达式提取组中的子字符串

java - 使用回收无效从 arraytlist 中清除位图,ANDROID

java - 相同的 ArrayList 但不同的对象顺序

java - 如何将 Arraylist Lat Long 值添加到新的 LatLng 类中

java - Netbeans 将服务-> 服务器中的信息存储在哪里?

java - 现代 linux 中 linux 关机/注销 TERM 信号处理程序的时间容差是多少?

c++ - C++ 中的幂函数和数组

java - 为什么 == 和 .equals 都不适用于 Java 中的字节数组?

java - 数学和数组