目次
1. 入れ子のリスト
実際の使用例。
package jp.co.study.sample;
import java.util.ArrayList;
import java.util.List;
public class Qiita {
public static void main (String args[]) {
// なんでもリスト
List<List<String>> whateverList = new ArrayList<List<String>>();
// 魚リスト
List<String> fishList = new ArrayList<String>();
fishList.add("あじ");
whateverList.add(fishList);
// 鳥リスト
List<String> birdList = new ArrayList<String>();
birdList.add("すずめ");
birdList.add("からす");
whateverList.add(birdList);
// 花リスト
List<String> flowerList = new ArrayList<String>();
flowerList.add("ひまわり");
flowerList.add("さくら");
flowerList.add("すみれ");
whateverList.add(flowerList);
// 出力
System.out.println(whateverList.toString());
}
}
出力結果は [[あじ], [すずめ, からす], [ひまわり, さくら, すみれ]]。
なんでもリスト(whateverList)に、
魚リスト(fishList)、鳥リスト(birdList)、花リスト(flowerList)が設定されている。
2. リストの要素除外
色々な方法があると思いますが、今回は新たにリストを作成して除外する方法を記載します。
ひとつ前のソースのなんでもリスト(whateverList)内3つのリストのうち、
要素数が3以上でないものを除外。
package jp.co.study.sample;
import java.util.ArrayList;
import java.util.List;
public class Qiita {
public static void main (String args[]) {
// なんでもリスト
List<List<String>> whateverList = new ArrayList<List<String>>();
// 魚リスト
List<String> fishList = new ArrayList<String>();
fishList.add("あじ");
whateverList.add(fishList);
// 鳥リスト
List<String> birdList = new ArrayList<String>();
birdList.add("すずめ");
birdList.add("からす");
whateverList.add(birdList);
// 花リスト
List<String> flowerList = new ArrayList<String>();
flowerList.add("ひまわり");
flowerList.add("さくら");
flowerList.add("すみれ");
whateverList.add(flowerList);
// あたらしいリスト作成
List<List<String>> newWhateverList = new ArrayList<List<String>>();
// whateverList内3つのリストの要素数を確認
for (List<String> strList : whateverList) {
if (strList.size() >= 3) {
// 要素数が3以上のリストのみnewWhateverListに追加
newWhateverList.add(strList);
}
}
// whateverListのアドレス自体をnewWhateverListのアドレスで上書き
whateverList = newWhateverList;
// 出力
System.out.println(whateverList.toString());
}
}
出力結果は [[ひまわり, さくら, すみれ]]
なんでもリスト(whateverList)内、
魚リスト(fishList)、鳥リスト(birdList)、花リスト(flowerList)のうち、
要素数が3以上あるのは花リスト(flowerList)のみのため、花リスト(flowerList)のみ出力。