2011-05-26 151 views
2

嗨,我是新来的java.After所以研究我面临的问题,我尝试帖子问一些问题。java多维数组声明1 * 3维?

最近我正在做一个文本分析软件。 我试着用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; 

但我编译它时仍然出错。

我该如何做声明或者有更好的方法来完成这件事。 如果我错过了关于这个在互联网上的任何帖子。请给我看任何关键字或链接让我看看。

+0

看起来像4乘3(二维)数组。 – 2011-05-26 17:27:53

回答

0

例为10x13矩阵:

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

编辑:我选择10x13,因为1×3并没有太大的意义,是第一个值1

+0

刚刚对于布局感到抱歉。我想要做的是数组中的数组。这意味着在abd [0]有一个三维数组,abdinside [] [] []。我可以向你解释清楚吗? – nonamime 2011-05-26 17:26:54

+0

String [] [] [] [] abd = new String [] [] [] []; – Hyperboreus 2011-05-26 17:30:14

+0

忘了尺寸:String [] [] [] [] abd = new String [dim1] [dim2] [dim3] [dim4]; – Hyperboreus 2011-05-26 17:36:03

1

我想我明白你想什么要做和它是这样的:

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

Java doenst有多维数组,它的数组在阵列中。

+0

Arrayception ... – alexcoco 2011-05-26 17:29:42

2

你试图实现什么?听起来像你,而应该使用其中一个集合类与表示数据的值对象一起使用。

+0

是的,谢谢你的提及。我认为创建一个新的类来处理它会更好。 – nonamime 2011-05-26 17:44:45

0

为什么不创建一个具有'name'属性(或'索引',如果你喜欢的)的对象,和一个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; 
    } 
} 
0

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

0

如果你想解析一个文本文件,并且你知道每列表示什么,你应该创建一个包含该数据的新对象。数组的阵列是一种不必要的痛苦骇客,如果你只是做Java设计用来编写类的代码,那么你的代码更易于维护。

+0

感谢您的评论,它启发我。是的,我应该创建一个类来存储数据。我对编程尤其是新手,尤其是面向对象。所以最近我很困惑什么时候让它变成一个类,或者让它变成一个函数。任何书推荐了解这一点。 – nonamime 2011-05-26 17:35:48

0

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