Ejemplo n.º 1
0
  /** @param args */
  public static void main(String[] args) {

    HashSet<Teacher> aaSet = new HashSet<Teacher>();
    Teacher aaTeacher = new Teacher("baicai", "07073120");
    Teacher bbTeacher = new Teacher("baicai", "07073120");
    Teacher ccTeacher = new Teacher("qingcai", "07073121");
    Teacher ddTeacher = new Teacher("xigua", "07073122");
    aaSet.add(aaTeacher);
    aaSet.add(bbTeacher);
    aaSet.add(ccTeacher);
    aaSet.add(ddTeacher);

    System.out.println(
        "aaTeacher_"
            + aaTeacher.hashCode()
            + ".equals(bbTeacher_"
            + bbTeacher.hashCode()
            + ") = "
            + aaTeacher.equals(bbTeacher));

    /** 由于重写了teacher里面的hashcode()方法,所以这边判断的时候,相同元素的hashcode就是一样的了, 就不会出现Taa的那个人问题了 */
    System.out.println("对象的内容" + "\t\t" + "对象的散列码");
    for (Teacher teacher : aaSet) {
      System.out.println(teacher.toString() + "\t\t" + teacher.hashCode());
    }
  }