【问题标题】:ArrayList or Array? Not sure what kind of declaration this is数组列表还是数组?不知道这是什么声明
【发布时间】:2021-02-22 08:32:11
【问题描述】:
ArrayList<Integer>[] paths = new ArrayList[N];

此行是作业中提供给我的代码的一部分,用作 Djikstra 算法的一部分。 因为它是在作业中给我的,所以我认为它在语法上是正确的,但我认为我从未见过用用于声明数组的括号声明 ArrayList

这是ArrayList 还是数组?在这种情况下,括号是什么意思?

【问题讨论】:

  • 似乎是数组列表
  • 我建议混合数组和ArrayLists。
  • 为什么不混合使用数组和数组列表?
  • @testo 因为数组的灵活性有限,而且您已经在使用列表(开销很小),所以没有必要也使用数组。 More about the subject。此外,数组不适用于泛型。例如。 new ArrayList&lt;T&gt; 有效,但 new T[0] 无效。
  • 我会说不混合它们的一个原因是它很难快速阅读和理解......Integer[][] 易于阅读,ArrayList&lt;ArrayList&lt;Integer&gt;&gt; 易于阅读,但这只是令人困惑乍一看。

标签: java


【解决方案1】:

ArrayList-Instances 数组。

【讨论】:

    【解决方案2】:

    确切地说(甚至是迂腐的),它是一个包含N 元素的数组:
    = new ArrayList[N]

    每个元素本身都可以是一个ArrayList - 但在该语句之后,数组只填充了nulls。

    【讨论】:

      猜你喜欢
      • 2014-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-15
      • 2011-06-08
      • 2021-11-28
      相关资源
      最近更新 更多