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

问题描述

| 嗨,我是java的新手。在对我所面临的问题进行了如此研究之后,我尝试发布一些问题。 最近我正在做一个文本分析软件。 我尝试完成一个1 * 3维数组。 就像是
[0]
   [][][]
[1]
   [][][]
[2] 
   [][][]
[3]
   [][][]
每个第二维中的三列用于保存第一维的详细信息。 但是第二维数组的大小仍然未知,这意味着,idont知道我将从要搜索的文本中找到多少。一旦找到目标,它将增加。 这是这样做的愚蠢方法。 我知道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;
但是当我编译它时仍然出现错误。 我该怎么做声明,还是有更好的方法来做到这一点。 如果我想念互联网上有关此的任何帖子。请给我看看任何关键字或链接,让我看看。     

解决方法

您正在尝试实现什么?听起来,您应该将集合类之一与代表数据的值对象一起使用。     ,我想我了解您正在尝试做的事情,它是这样的:
                String[][] value = new String[4][3];
Java确实具有多维数组,其数组在数组内。     ,10x13矩阵的示例:
String [] [] abd = new String [10] [13];
编辑:我选择10x13,因为1x3没有多大意义,因为它是第一个值1。     ,为什么不创建一个具有\'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;
    }
}
    ,您可以使用ArrayList存储长度未知的int值数组。您可以使用ArrayList>存储无限数量的int数组。     ,如果您尝试解析文本文件,并且知道每一列的含义,则应创建一个包含该数据的新对象。数组数组是一个不必要的痛苦的黑客,如果您只执行Java设计用于编写类的代码,则代码的可维护性将大大提高。     ,假设要存储和查找的值是字符串,则我将创建“ 6”或“ 7”。