Yuwanqi1991 2015-07-07 09:25 采纳率: 0%
浏览 2842

Set怎么判别存储对象是否重复的

public class SetTest {

    public static void main(String[] args) {
        Set s = new HashSet();
        Person p = new Person("person-5");
        Person p1 = new Person("person-5");
        s.add(p);
        s.add(p1);
        System.out.println(p.equals(p1));
        System.out.println(p.hashCode() == p1.hashCode());
          System.out.println(s.size());
        for(Object o : s){
            Person pp = (Person) o;
            //System.out.println(pp.hashCode());
            System.out.println(pp.getName());
        }

// String str1 = "xxx";
// String str2 = new String("xxx");
// System.out.println(str1==str2);
// s.add(str1);
// s.add(str2);
// System.out.println(s.size());
// for(Object o : s){
// System.out.println(o);
// }
}

}

class Person{

    private String name;

    public Person(String name){
        setName(name);
    }

    public String getName() {
        return name;
    }

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

    public boolean equals(Person p){
        if(p != null){
            if(p.getName().equals(this.getName())){
                return true;
            }
        }
        return false;
    }

    public int hashCode(){
        //return new Integer(getName()).hashCode();
        return 100;
    }

}
  • 写回答

6条回答

  • baidu_26883817 2015-07-07 09:34
    关注

    set 有add 方法返回布尔类型的值

    评论

报告相同问题?