【问题标题】:ArrayList with 2 dimensions [closed]二维数组列表[关闭]
【发布时间】:2015-12-14 10:58:20
【问题描述】:
private static ArrayList<String>[][] table;

public boolean processString(String w)
{
    int length = w.length(); //w= "aabaa"
    table = new ArrayList[length][];
    for (int i = 0; i < length; ++i)
    {
        table[i] = new ArrayList[length];
        for (int j = 0; j < length; ++j)
            table[i][j] = new ArrayList< String >();
    }
}

谁能告诉我这段代码到底在做什么? ArrayList 声明中的两个方括号是什么?那是二维数组列表吗?

【问题讨论】:

  • 你想从这段代码中得到什么?
  • table 可能是ArrayList[][] 类型,否则代码将无法编译。
  • 试着详细说明一下这段代码
  • @Abdelhak 这是 CYK 算法实现的一部分。这段代码正在制作我认为的矩阵。这也是我忘记提及的代码的一部分:private static ArrayList[][] table;
  • 这会创建一个length X length 的二维矩阵,其中lengthw.length()

标签: java arraylist


【解决方案1】:

这基本上是在尝试制作一个二维 ArrayList。 正如您所提到的,您的表是二维数组列表:

ArrayList<String>[][] table;

【讨论】:

  • 二维 ArrayList 将是 ArrayList&lt;String&gt;[],而不是 ArrayList&lt;String&gt;[][]
  • @Tom 一维数组是ArrayList&lt;String&gt;[] 来源:cs.cmu.edu/~mrmiller/15-110/Handouts/arrays2D.pdf
  • @RichardJones 我们不是在谈论数组,而是在谈论 ArrayList,而列表本身就是第一个维度。第二维是 ArrayList 的数组,我们这里是 ArrayList 的数组。
猜你喜欢
  • 1970-01-01
  • 2011-04-13
  • 2022-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多