Java ArrayListに配列型を宣言

 Javaを触ってる人なら誰でも知ってる

可変長配列クラスArrayListですが、

日本語のTIPSを見るとなぜか変数型のArrayListばかりなので、

ここで配列型のArrayListを簡単に紹介します。

批判的に読んで下されば本望です、

 

そもそもArrayListには基本的にどんな型でも

例えばユーザー定義のクラス型であったとしても

扱うことができます。

 

まず、よく見るArrrayListの使い方がこちら

package sample;

 

import java.util.ArrayList;

 

public class hoge {

public static void main(String[] args) {

 

ArrayList<String> flag = new ArrayList<String>();

flag.add("hogehoge");

 

}

}

当たり前ですが、

ArrayList<String> flag = new ArrayList<String>();

で文字列のリストとしてを扱うことができます。

 

簡単ですが、

配列型のArrayリストとして扱いたい場合には、

package sample;

 

import java.util.ArrayList;

 

public class hoge {

public static void main(String[] args) {

 

ArrayList<String[]> flag = new ArrayList<String[]>();

String[] test = {"t_01", "t_02", "t_03"};

flag.add(test);

 

}

}


こんな感じに、

ArrayList<String[]> flag = new ArrayList<String[]>();

と宣言すれば、多次元配列のような形で、

配列を並べるArrayListを扱うことができるようになります。

 

取り出す時は

String n = flag.get(0)[0]; 
//インデックス0の配列のインデックス0の値を取り出す

system.out.println(n); //t_01と出力されます。

という感じに、

扱うことができます。

 

これをUPDATEしたい時は、

String[] s = {"s_01", "s_02", "s_03"};

flag.set(0,s);  //インデックス0に配列sを上書き

として

"t_01","t_02"...が"s_01","s_02"...に上書きされます。

ご参考までに。