Java 2d Array 还是 2d ArrayList?

标签 java arrays arraylist multidimensional-array

我的任务是制作一个与多值数据库接口(interface)的程序。我收到一个字符串中的整个记录​​,其中包含值和子值的分隔符。从那里我将数据分成一个二维数组。这是其中的一个片段(注意不同的长度):

        0           1           2
   +------------------------------------+
0  | 442        |           |           |
1  | C          |           |           |
2  |            |           |           |
3  | N          |           |           |
4  | LAND       |           |           |
5  | 05412300   | 05412307  |           |
6  | BEARING    |           |           |
7  | BRAND1     | BRAND2    | BRAND3    |
8  | 12         |           |           |
   +------------------------------------+

现在我一直使用 ArrayLists 而不是 Arrays,因为我知道这是最佳实践。现在我想知道使用 2d ArrayList 是否也有好处。我看过一些例子,但我不太明白如何在需要时获取这些值。如果我要这样做:

String[][] cheese = {
    {"chedder", "swiss", "pepperjack"},
    {"sliced", "cubed", "block"}
};
String myFavorite = cheese[0][2];

myFavorite 将是 pepperjack,但我如何使用 2d ArrayList 做到这一点?我发现的示例对我没有太大帮助。我确实知道我将接收的数据的确切行数(但不是列数),并且行号不会改变,所以也许常规二维数组是最佳做法?

最佳答案

您的数据看起来不属于二维数组或列表。如果是我,我会创建对数据有意义的数据结构。如果您必须使用列表列表:

List<List<String>> cheese = new ArrayList<List<String>>();
cheese.add(Arrays.asList("cheddar", "swiss", "pepperjack"));
cheese.add(Arrays.asList("sliced", "cubed", "block"));

String myFavorite = cheese.get(0).get(2);

关于Java 2d Array 还是 2d ArrayList?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25125413/

相关文章:

c++ - 为什么 C++ 编译器不优化读取和写入结构数据成员而不是不同的局部变量?

c - 在动态字符串数组中存储文本文件数据的优雅方法

java - Java中如何将数组转换为链表

java - 查找字符串数组列表之间的共同点

c# - 从 Internet Explorer 8 中的 ActiveX 控件提取数据

java - 谷歌指南 : help to inject

java - Camel 使用 Simple DSL 将所有 CRLF 替换为 LF

java - InputString 中的 NumberFormatException

python - Fortran:稀疏数组或列表

java - Android-通过ArrayList时应用崩溃