【发布时间】:2021-02-22 08:32:11
【问题描述】:
ArrayList<Integer>[] paths = new ArrayList[N];
此行是作业中提供给我的代码的一部分,用作 Djikstra 算法的一部分。
因为它是在作业中给我的,所以我认为它在语法上是正确的,但我认为我从未见过用用于声明数组的括号声明 ArrayList。
这是ArrayList 还是数组?在这种情况下,括号是什么意思?
【问题讨论】:
-
似乎是数组列表
-
我建议不混合数组和
ArrayLists。 -
为什么不混合使用数组和数组列表?
-
@testo 因为数组的灵活性有限,而且您已经在使用列表(开销很小),所以没有必要也使用数组。 More about the subject。此外,数组不适用于泛型。例如。
new ArrayList<T>有效,但new T[0]无效。 -
我会说不混合它们的一个原因是它很难快速阅读和理解......
Integer[][]易于阅读,ArrayList<ArrayList<Integer>>易于阅读,但这只是令人困惑乍一看。
标签: java