コレクションの重複

HashSetじゃなくてHashtableつかうのはどうでしょ。
と投げかけてみる。


もうちょい調査します。



//test.java

import java.util.*;


class Adrs{
String mail = null;
String name = null;

public void setMail(String mail){
this.mail = mail;
}

public void setName(String name){
this.name = name;
}

public String getMail(){
return mail;
}

public String getName(){
return name;
}
}


class test{
public static void main(String args[]){
Adrs adrs1 = new Adrs();
Adrs adrs2 = new Adrs();
adrs1.setMail("aaa@aaa.com");
adrs1.setName("aaa");
adrs2.setMail("aaa@aaa.com");
adrs2.setName("aaa");


Hashtable hset3 = new Hashtable();
if(hset3.containsKey(adrs1.getMail())){
System.out.println("adrs1登録済み");
}else{
hset3.put(adrs1.getMail(),adrs1);
System.out.println("adrs1");
}


if(hset3.containsKey(adrs2.getMail())){
System.out.println("adrs2登録済み");
}else{
hset3.put(adrs2.getMail(),adrs1);
System.out.println("adrs2");
}

System.out.println(hset3.size());
}
}

こんな感じでテストしてみた。
あとは、チェックとかputを実行するクラス作ってやればー?って感じなのかな。
もうちょいカッコイイやり方ありそうなきがするんだけどなぁ。