java多维数组声明1 * 3维度?

时间:2011-05-26 17:19:04

标签: java multidimensional-array declaration

嗨,我是java的新手。在对我所面对的问题进行研究后,我尝试发帖提出一些问题。

最近我正在做一个文本分析软件。 我尝试用1 * 3维阵列完成。

之类的东西
[0]
   [][][]
[1]
   [][][]
[2] 
   [][][]
[3]
   [][][]

每个第二维中的三列用于保存第一维的细节。 但是第二维数组大小尚未知,这意味着,我知道我将从文本中找到多少我将要搜索的内容。一旦找到目标,它将会增加。 这是做这件事的愚蠢方式。 我知道java可以像int [] [] abc = new [5] []一样声明数组。 但它只能声明一个未知的维度。 然后我尝试做这样的事情

String [] abc = new string [4]

然后我首先假设大小是第二维第一列中的大小。

abc[0] = String [10][][] inside1;
abc[1] = String [10][][] inside2;
abc[2] = String [10][][] inside3;
abc[3] = String [10][][] inside4;

但编译时仍然出错。

我怎么能做宣言,或者做得更好。 如果我想念互联网上关于此的任何帖子。请告诉我任何关键字或链接供我查看。

7 个答案:

答案 0 :(得分:2)

您尝试实施的是什么?听起来像你应该使用其中一个集合类和代表你的数据的值对象。

答案 1 :(得分:1)

我想我明白你要做的事情和它是这样的:

                String[][] value = new String[4][3];

Java doenst有多维数组,它的Arrays In Arrays。

答案 2 :(得分:0)

10x13矩阵的示例:

String [] [] abd = new String [10] [13];

编辑:我选择10x13,因为1x3没有多大意义,是第一个值1.

答案 3 :(得分:0)

为什么不创建一个具有'name'属性的对象(如果您愿意,还可以创建'index'),以及一个List类型的'list'属性?

public class YourMultiDimensionalArrayObject {
    private int index;
    private List<String> vals;

    public YourMultiDimensionalArrayObject(int _index) {
        index = _index;
    }

    public void setValues(List<String> _vals) {
        vals = _vals;
    }

    public int getIndex() {
        return index;
    }

    public List<String> getVals() {
        return vals;
    }
}

答案 4 :(得分:0)

您可以使用ArrayList存储未知长度的int值数组。您可以使用ArrayList&gt;存储无限数量的int数组。

答案 5 :(得分:0)

如果您正在尝试解析文本文件并且知道每列的含义,则应创建一个包含该数据的新对象。数组数组是一个不必要的痛苦黑客,如果你只是做Java的设计用途,你的代码就更易于维护 - 写一个类。

答案 6 :(得分:0)

我会创建List<List<String>>Map<String, List<String>>,假设您要存储和查找的值是字符串。