Listの中に重複がないか確認する方法を書き残します。
Listの重複を確認する方法
List checkList = new ArrayList();
checkList.add(“Tanaka”);
checkList.add(“Kato”);
checkList.add(“Nakamoto”);
checkList.add(“Tanaka”);
Set set = new HashSet(); //重複確認用
for(String duplicateCheck : checkList) {
//setに追加してみて、追加できなかった(重複していた)場合
if(!set.add(duplicateCheck)) {
System.out.println(duplicateCheck + “が重複しています。”);
}
}
重複箇所を表示する方法
ついでにどことどこが重複したのかを表示する場合の書き方です。3つ以上重複がある場合は重複場所がわかると便利です。
List checkList = new ArrayList();
checkList.add(“Tanaka”);
checkList.add(“Kato”);
checkList.add(“Nakamoto”);
checkList.add(“Tanaka”);
String errorMsg =””;
List errorMsgList = new ArrayList();
for (int i = 0; i < checkList.size(); i++) {
String nameA = checkList.get(i);
for (int j = i + 1; j < checkList.size(); j++) {
if (!(nameA.equals(“”))) {
String nameB = checkList.get(j);
if (nameA.equals(nameB)) {
errorMsg = (i + 1) + “つめと” + (j + 1) + “つめが重複しています。”;
errorMsgList.add(errorMsg);
}
}
}
}
for(String s : errorMsgList) {
System.out.println(s);
}