備忘録的な感じです。
Javaの配列って型が固定だったりする。
int[] num;
//配列の宣言
こういう書き方もできる。
int num[];
//配列の宣言
型が混在した配列を扱う場合には、通常の配列だと単一の型に指定するため、そのまま通常の配列に代入して扱うことはできない。
例えばSQLでレコード1行分を取得する際、int型のidとString型のnameが混在していたりする。
そうした場合に独自の配列を作る必要がある。
その場合、ArrayListをList型で宣言する。
<>内の型に独自のクラスを指定し、クラス内にSQLのカラムに合わせたフィールドを定義する。
そうすると下記の通り。
//Introduceクラス(実行ファイル)
package sample;
import java.util.ArrayList; //ArrayListのimport
import java.util.List; //Listのimport
public class Introduce {
public static void main(String[] args) {
List<Original> introduce = new ArrayList<Original>(); //Listの「<>」に独自のクラス(型)を指定。
introduce.add(new Original(1, "Taro", 5, "Japan"));
introduce.add(new Original(2, "John", 10, "England"));
introduce.add(new Original(3, "Marc", 15, "America"));
for(Original intro : introduce) {
System.out.println("id:"+ intro.id +" 名前:"+ intro.name + " 年齢:" + intro.age + " 出身地:" + intro.country );
}
}
}
//Originalクラス。フィールド(SQLのカラム)を設定。
package sample;
public class Original {
//独自のクラス(型)にフィールドを設定。
public int id ;
public String name;
public int age;
public String country;
//引数の値がそれぞれのフィールドに入るように。
public Original(int id,String name,int age,String country) {
this.id = id;
this.name = name;
this.age = age;
this.country = country;
}
}
というようなことがわかった。
List型で宣言したArrayListについて、下記の利点がある。
要素数が可変長の入れ物を扱える
複数の型を格納できる
ArrayListに独自のクラスを指定するケース・メリットって他にないのかな?
↧