java多维数组声明1*3维?
大家好,我是java新手。在研究了我所面临的问题之后,我试着发帖问一些问题 最近我在做一个文本分析软件。 我试着完成一个1*3维的数组。 差不多java多维数组声明1*3维?,java,multidimensional-array,declaration,Java,Multidimensional Array,Declaration,大家好,我是java新手。在研究了我所面临的问题之后,我试着发帖问一些问题 最近我在做一个文本分析软件。 我试着完成一个1*3维的数组。 差不多 [0] [][][] [1] [][][] [2] [][][] [3] [][][] 每个维度的第二个维度中的三列用于保存第一个维度的详细信息。 但是第二维度数组的大小仍然未知,这意味着,我不知道我将从我要搜索的文本中找到多少。一旦找到目标,它将增加。 这是做这件事的愚蠢方式吗。 我知道java可以声明数组,比如int[]
[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;
但编译时仍然会出错
我如何做申报,或者有更好的方法来做这件事。
如果我错过了互联网上关于这个的任何帖子。请给我看一下任何关键字或链接。10x13矩阵的示例:
String [] [] abd = new String [10] [13];
编辑:我选择10x13,因为1x3没有多大意义,它是第一个值1。我想我理解您正在尝试做什么,它是这样的:
String[][] value = new String[4][3];
Java没有多维数组,它的数组在数组中。您试图实现的是什么?听起来您应该将其中一个集合类与表示数据的值对象一起使用。为什么不创建一个具有“名称”属性(或“索引”(如果愿意)和“列表”类型属性的对象
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;
}
}
public类多维ArrayObject{
私有整数索引;
私人名单;
公共多维ArrayObject(整数索引){
指数=_指数;
}
公共无效设置值(列表值){
VAL=_VAL;
}
public int getIndex(){
收益指数;
}
公共列表getVals(){
返回VAL;
}
}
您可以使用ArrayList存储长度未知的int值数组。您可以使用ArrayList>存储无限数量的int数组。如果您试图解析文本文件,并且您知道每列的含义,则应创建一个包含该数据的新对象。数组数组是一种不必要的痛苦的黑客行为,如果你只是按照Java的设计来编写一个类,那么你的代码就更易于维护。我会创建一个列表
或映射
,假设你想存储和查找的值是字符串。对不起,刚才的布局。我要做的是阵列中的阵列。这意味着在abd[0]中得到了一个三维数组,abdinside[]。我能给你解释清楚吗?String[][]abd=新String[][];忘记了尺寸:字符串[][[]abd=新字符串[dim1][dim2][dim3][dim4];感谢超代码工作will.din知道它可以声明一些多维度数组。这看起来像一个4×3(二维)数组。感谢你的评论,它启发了我。是的,我应该创建一个用于存储数据的类。我是编程新手,尤其是OOP。所以最近我搞不清楚什么时候把它变成一个类,什么时候变成一个函数。任何一本书都推荐你去了解它。是的,谢谢你提到这一点。我认为创建一个新的类来处理它会更好。