この記事では、Listの中にListを入れる簡単な方法について解説しています。
応用編は以下の記事になるのでぜひご参照ください。
基本的な書き方
Java
//リストの中にリストを入れる
List<List<String>> list = Arrays.asList(
Arrays.asList("10","20"),
Arrays.asList("30","40")
);
//1個目のリストを取得。
System.out.println(list.get(0));
//2個目のリストを取得。
System.out.println(list.get(1));
//2個目のリストの2つ目の要素を取得。
System.out.println(list.get(1).get(1));
実行結果
[10, 20]
[30, 40]
40
解説
Arrays.asListをネストすることによって、Listの中にListを入れることが出来るようになります。
値を取得するときは、オブジェクト名.get(i)と記述することによってリストを取得することが出来ます。(8行目や11行目)
また、特定のリストの特定の要素を取得したい場合には、オブジェクト名.get(i).get(i)のように記述します。(14行目)
任意のオブジェクトをListの中にListとして入れる方法
次のオブジェクトをListの中にListとして入れる方法を考えます。
Person.ava
public class Person {
String name; //名前
int age; //年齢
String birthplace; //出身地
//コンストラクタ
public Person(String name, int age, String birthplace) {
this.name = name;
this.age = age;
this.birthplace = birthplace;
}
//ゲッターセッター
public String getName() {return name;}
public void setName(String name) {this.name = name;}
public int getAge() {return age;}
public void setAge(int age) {this.age = age;}
public String getBirthplace() {return birthplace;}
public void setBirthplace(String birthplace) {this.birthplace = birthplace;}
@Override
public String toString(){
return name + "," + age + "," + birthplace;
}
}
以下のコードがListの中にListを入れる例です。
Java
Person p1 = new Person("Trump", 72 , "USA");//ドナルド・トランプ大統領
Person p2 = new Person("Sinzo", 65 , "Japan");//安倍晋三首相
Person p3 = new Person("Yuriko", 68 , "Japan");//小池百合子都知事
Person p4 = new Person("Xi Jinping", 67 , "China");//習近平国家主席
Person p5 = new Person("Putin", 67 , "Russian");//プーチン大統領
Person p6 = new Person("Moon Jae-in", 68 , "Korea");//文在寅大統領
//リストの中にリストを入れる
List<List<Person>> list = Arrays.asList(
Arrays.asList(p1,p2,p3),
Arrays.asList(p4,p5,p6)
);
//1個目のリストを取得。
System.out.println(list.get(0));
//2個目のリストを取得。
System.out.println(list.get(1));
//2個目のリストの2つ目の要素から名前を取得。
System.out.println(list.get(1).get(1).getName());
実行結果
[Trump,72,USA, Sinzo,65,Japan, Yuriko,68,Japan]
[Xi Jinping,67,China, Putin,67,Russian, Moon Jae-in,68,Korea]
Putin
解説
10行目でリストの中にリストを入れています。
1個目のリストにはp1,p2,p3を入れているので、16行目ではこれが出力されます。
同じく、2個目のリストにはp4,p5,p6を入れているので、19行目ではこれが出力されます。
22行目で取得している「2個目のリストの2つ目の要素の名前」はプーチン大統領のことを指すので「Putin」が返ります。
以上で記事の解説はお終い!
もっとJavaやSpringを勉強したい方にはUdemyがオススメ!同僚に差をつけよう!