2010-12-27 11 views
1

配列String[]の配列を宣言することは可能ですか?
私はそうではないと思います。配列を配列内に格納するにはどうすればよいですか?

私はそれぞれの繰り返しが別のString型の配列を返すforループを持っています。だから私はすべての配列を格納する必要があります。

EDIT:

誰かがどのように2次元の文字列配列をプリントアウトする教えてもらえます。
問題はArray[i][j]です。ここでは"i"が固定されていますが、"j"は上記の方法で返された配列のサイズに応じて変更を続けます。

どうすればいいですか。どのような簡単な印刷のアイデアも大きな助けになるでしょう。

編集:私は[j]インデックスのサイズを取得できますか

Array.length;は、インデックス[i]のサイズを返します。

EDIT:

ここでは、私はそれをやった方法です:

for (int i=0; i< files.length; i++){ 
    for (int j=0; j<files[i].length; j++){ 
      System.out.println("["+i+"]["+j+"] = "+ files[i][j]); 
     } 
    } 
} 
+0

「[j]インデックスのサイズ」のようなものはありません。 'String [] []'中の全ての 'String []'はそれ自身の別の長さを持つかもしれません。 –

+0

@カールなので、各[i]に対して何個の要素が格納されているかチェックする方法はありませんか?これが当てはまる場合、結果を表示するための一般的なコードセットはありません。たびに私はNullPointer例外を取得します。私はここでリンクされたLIstsを使用しなければならないと思う。 – David

+0

@カール、あなたは間違っていた。私は方法を考え出した。各反復で、私はArray [i] .length;を使うことができます。 [j]インデックスのサイズを取得します。 誤解を避けることができれば幸いです。あなたが何かを知らない場合は、混乱や時間を無駄にしないでください。 – David

答えて

1

はい - それはString[][]です。また、3次元配列を持つこともできます[][][]

一方、List<List<X>>を使用することができます。

2

2次元配列を参照している可能性があります。非常に簡単なチュートリアルはhereです。

+0

ありがとう、何が私を混乱させましたか多次元的に考えると、それらは本当に "多次元"です。彼らは本当に別の配列の配列をjavaに思えます。 – David

1
String[][] stringArrayArray = new String[5][]; 
stringArrayArray[0] = new String[10]; 

など

+0

stringArrayArray [0] [] =新しいString [10]使用法が間違っています。そのようにする必要がありますstringArrayArray [0] = new String [10] –

+0

私は2つのネストされたループが仕事をすることができると思います。第2インデックスのサイズを2次元配列で調べる方法 – David

+0

@ Gursel Koca - ありがとう。あなたがコメントしていたときに修正していました。 –

1

を参照してください。

String[] array = new String[10]; //Array for ten String objects. 

String[][] arrayOfArrays = new String[10][]; //Array for ten String arrays. 


arrayOfArrays[0] = array; // Under index 0 we assign the reference to array. 

もう1つの方法は、Listクラスを使用することです。

List<String[]> listofArrays = new ArrayList<String[]>(); 

    listofArrays.add(array): 
関連する問題