[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends:00378] Re: JAVA での多次元動的配列の実現



えんどうです。

> 標題の通りなのですが、JAVAで多次元の動的配列を実現したいときは
> どのようにするのが一般的なのでしょうか。

少し大きい配列を用意して、
System.arraycopyメソッドでコピーするのが良いかもです。

        int[][] a = {
                {1, 2},
                {3, 4}
                };
        int[][] b = new int[3][2];
        System.arraycopy(a, 0, b, 0, 2);

> Webを漁ってみたところ1次元の動的配列はjava.util.Vectorクラスを使う、
> という記述を見つけました。
> http://msugai.fc2web.com/java/array2.html
> 
> 今のところは多次元の動的配列を実現ときは
> java.util.Hashtableクラスを使っています。
> でも、いちいちキーを指定して書き込んだり読み出したり面倒だと思って。

Cもそうですが、Java には多次元配列というものは存在しません。
「配列要素が配列である1次元配列」で表現するしかありません。

http://www.asahi-net.or.jp/~dp8t-asm/java/tips/OptMultiDimensionalArray.html

多次元配列の要素を拡張する目的は何でしょうか?

行列演算がしたいのであれば、javax.vecmath.GMatrix などが使えます。

-- 
ENDO Yasuyuki <yasuyuki@xxxxxxxxxxxx>
http://www.javaopen.org/~yasuyuki/ (Persotal/Japanese Only)
http://www.javaopen.org/jfriends/ (Japanese Only)