JAVA集合类练习

来源:互联网 发布:mac信仰灯怎么关 编辑:程序博客网 时间:2024/05/16 15:23
在HashSet集合中添加三个Person对象,把姓名相同的人当做同一个人,禁止重复添加。提示:   Person类中定义name和age属性,重写hashCode()方法和equals()方法,针对Person类的name属性进行比较,如果name相同,hashCode()方法的返回值相同,equals方法返回true。
代码:
package Experiment.cqm;import java.util.*;public class Person {private String name;private int age;public Person(String name,int age){this.name=name;this.age=age;}@Overridepublic int hashCode() {final int prime = 31;int result = 1;result = prime * result + ((name == null) ? 0 : name.hashCode());return result;}@Overridepublic boolean equals(Object obj) {if (this == obj)return true;if (obj == null)return false;if (getClass() != obj.getClass())return false;Person other = (Person) obj;if (name == null) {if (other.name != null)return false;} else if (!name.equals(other.name))return false;return true;}public String toString() {return name+":"+age;}}public class Test {public static void main(String[] args) {HashSet hs=new HashSet();Person p1=new Person("Tom",18);Person p2=new Person("Marry",18);Person p3=new Person("Tom",19);hs.add(p1);hs.add(p2);hs.add(p3);System.out.println(hs);}}
运行结果:
1 0
原创粉丝点击