1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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.HashMap;
import java.util.List;
import java.util.Map;

public class Qiita {
	public static void main (String args[]) {
		// 果物リスト
		List<String> fruitList = new ArrayList<String>();
		fruitList.add("りんご");
		fruitList.add("ぶどう");
		fruitList.add("なし");
		
		// 確認用果物リスト
		List<String> confirmFruitList = new ArrayList<String>();
		confirmFruitList.add("ばなな");
		confirmFruitList.add("ぶどう");
		confirmFruitList.add("もも");
		
        // 果物リストに確認用果物リストの果物が含まれているか確認
		for (String fruit : confirmFruitList) {
			if (!fruitList.contains(fruit)) {
				fruitList.add(fruit);
			}
		}

		// 出力
		System.out.println(fruitList.toString());
    }
}

出力結果は [りんご, ぶどう, なし, ばなな, もも]

確認用果物リストの要素をひとつずつ確認するため、拡張for文で確認用果物リストをループ。
containsメソッドを使用し、果物リストに、確認用果物リストの要素が含まれているか確認。
含まれていない場合のみ追加。

2. マップの重複確認

例)確認用野菜リストの野菜のうち、野菜マップと重複しないもののみ、野菜マップに追加。

package jp.co.study.sample;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class Qiita {
	public static void main (String args[]) {
		// 野菜マップ
		Map<Integer, String> vegetableMap = new HashMap<Integer, String>();
		vegetableMap.put(1, "きゃべつ");
		vegetableMap.put(2, "にんじん");
		vegetableMap.put(3, "こまつな");
		
		// 確認用野菜リスト
		List<String> confirmVegeList = new ArrayList<String>();
		confirmVegeList.add("だいこん");
		confirmVegeList.add("こまつな");
		confirmVegeList.add("なす");
		
		int num = 0;
        // 野菜マップに確認用野菜リストの野菜が含まれているか確認
		for (String vegetable : confirmVegeList) {
			if (!vegetableMap.values().contains(vegetable)) {
				vegetableMap.put(4 + num, vegetable);
				num ++;
			}
		}
		
		// 出力
		System.out.println(vegetableMap.entrySet());
	}
}

出力結果は [1=きゃべつ, 2=にんじん, 3=こまつな, 4=だいこん, 5=なす]

確認用野菜リストの要素をひとつずつ確認するため、拡張for文で確認用野菜リストをループ。
valuesメソッドを使用し、野菜マップの値すべて("きゃべつ"、"にんじん"、"こまつな")を取得。
その値に、確認用野菜リストの要素が含まれているか確認。含まれていない場合のみ追加。

※entrySetはキーと値のペアを全て取得するメソッド。

1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?