【发布时间】:2021-11-15 04:42:53
【问题描述】:
我希望能够使用 Java 实现某种可以在其中存储可能许多 ArrayLists 的类或变量。
例如,一个二维 ArrayList 应该是这样的:ArrayList
一个三维的ArrayList是这样的ArrayList
对于任何 N 大小的 ArrayList 以此类推。
我想实现一个可以将任何 N 大小的数组列表作为参数的函数,但我不太确定如何实现它以及函数签名的外观。我目前正在尝试使用过去使用过的泛型,但在这种情况下我有点迷茫。
有什么建议吗?
【问题讨论】:
-
泛型在这里不起作用,因为编译器在
List<String>、List<List<String>>或List<List<List<String>>>之间没有区别。 -
我不相信这是可能的,但我最好的猜测是使用具有自身数组列表以及您想要的 Data_type 的 pojo,然后您可以这样嵌套它吗?内部 pojo 将具有 Data_type 并且没有其他属性,而所有其余部分将具有自身的 List 并且没有其他属性。
-
@rainmaker 是的,我认为您的解决方案是正确的,我想要的只是一种使用某种递归方法在数组列表中遍历的方法,我的问题是知道函数签名以及当我在方法中如何执行它时进行进一步的嵌套调用,并创建它。
-
考虑将多维列表视为表示灵活大小的多维数组的类的实现细节,它可以支持任意数量的维度。确定你希望你的类支持哪些方法。根据多维列表实现这些。方法可能引用整个数组、单个元素或数组的一部分。方法参数将取决于方法要访问的这些参数中的哪一个。
标签: java oop generics arraylist