问题描述
|
嗨,我是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”。