- ベストアンサー
[JAVA]可変長に配列?
こんばんわぁ♪ 配列を定義する際に・・・ String[][][] TEST = new String[10][10][10]; というように「箱」の数を指定しますが・・・ String[][][] TEST2 = new String[10][10][10]; のように、可変長(?)にできませんか? なぜこのようなことをするか・・・ 各「箱」にいくつデータが格納されているかを取得するためです。 int z = TEST[0].length; というように・・・ なにか、いい案はありませんか??
- みんなの回答 (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)
Vectorを使っては?