java - 将 ArrayList 转换为包含不同长度数组的二维数组

标签 java multidimensional-array arraylist indexing varying

所以我有:

ArrayList<ArrayList<String>> 

其中包含 x 个 ArrayLists,其中包含另一个 y 个字符串.. 演示:
Index 0:
  String 1
  String 2
  String 3
Index 1:
  String 4
Index 2:
Index 3:
  String 5
  String 6

其中 index 是指包含字符串的数组索引。

我怎样才能把它转换成一个二维数组,它看起来像:
{{String1, String2, String3},{String4}, {}, {String5, String6}}

非常感谢。

最佳答案

String[][] array = new String[arrayList.size()][];
for (int i = 0; i < arrayList.size(); i++) {
    ArrayList<String> row = arrayList.get(i);
    array[i] = row.toArray(new String[row.size()]);
}

哪里arrayList是你的 ArrayList<ArrayList<String>> (或任何 List<List<String>> ,相应地更改 for 循环内的第一行)

关于java - 将 ArrayList 转换为包含不同长度数组的二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10043209/

相关文章:

java - 将 Java 移植到 J# 时出现问题

java - 尝试将文本文件读入数组

javascript - 如何将 JSON 对象作为新级别添加到另一个 JSON 对象?

java - 将整数添加到 ArrayList 时

java - 要将在编辑文本中输入的所有信息保留在不同的 TextView 中

java - jackson 反序列化嵌套多态类型

java - 如何对对象列表应用范围标准?

java - 如何从我的 ArrayList 中删除也在 Java 中的其他 ArrayList 中的对象?

java - 如何使用java在linux上编写Syslog

java - 2D字符格式数组