• ベストアンサー

[JAVA]可変長に配列?

こんばんわぁ♪ 配列を定義する際に・・・ String[][][] TEST = new String[10][10][10]; というように「箱」の数を指定しますが・・・ String[][][] TEST2 = new String[10][10][10]; のように、可変長(?)にできませんか? なぜこのようなことをするか・・・ 各「箱」にいくつデータが格納されているかを取得するためです。 int z = TEST[0].length; というように・・・ なにか、いい案はありませんか??

質問者が選んだベストアンサー

  • ベストアンサー
noname#30871
noname#30871
回答No.2

>String[][][] TEST = new String[10][10][10]; >String[][][] TEST2 = new String[10][10][10];  変数名が違うだけのように見えますが……?  Javaでは、可変長配列(の代わり)として、java.util.ArrayListやjava.util.Vectorが用意されています。  両者でできることはほとんど同じですが、ArrayListのほうが動作が高速です。  ただし、ArrayListへのアクセスは同期化(synchronize)されないので注意してください。複数のスレッドからアクセスされる場合(典型的にはサーブレットの中)ではVectorのほうが安全です。  ArrayListやVectorでは、その長さ(格納されているオブジェクトの個数)をsize()メソッドで返します。  ただし、質問No.293316でお尋ねになっているような「uniqueなオブジェクトの数」ではありません。

その他の回答 (1)

  • ranx
  • ベストアンサー率24% (357/1463)
回答No.1

Vectorを使っては?

参考URL:
http://java.sun.com/j2se/1.3/docs/api/index.html