LoginSignup
0
1

More than 1 year has passed since last update.

リスト編② 〜 入れ子のリスト・リストの要素除外 〜

Last updated at Posted at 2022-10-28

目次

 1.入れ子のリスト
 2.リストの要素除外

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)のみ出力。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1