package Interview;
import java.util.*;
class People implements Comparable<People> {
public String name;
public int age;
public People(String name,int age) {
this.name=name;
this.age=age;
}
public int hashCode() {
return Objects.hash(name, age);
}
public boolean equals(Object o) {
if (!(o instanceof People)) {
return false;
}
People p = (People) o;
return age == p.age && name.equals(p.name);
}
//加入treeset必须实现comparable接口,重写compare方法
@Override
public int compareTo(People o) {
// TODO Auto-generated method stub
People p = (People) o;
if(this.age>p.age){
return -1;
}else if(this.age<p.age){
return 1;
}
return 0;
}
}
public class 重写hashcode和equals方法 {
public static void main(String[] args) {
// TODO Auto-generated method stub
People p1=new People("zhangsan", 11);
People p2=new People("zhangsan", 11);
People p3=new People("lisi", 21);
TreeSet<People>set=new TreeSet<>();
set.add(p1);
set.add(p2);
set.add(p3);
Iterator<People>iterator=set.iterator();
while (iterator.hasNext()) {
People temp=iterator.next();
System.out.println("姓名:"+temp.name+",年龄"+temp.age);
}
//System.out.println(set.size());
}
}
重写hashcode和equals方法,以及加入treeset实现comparable接口重写compareTo方法
猜你喜欢
转载自blog.csdn.net/wenyimutouren/article/details/82622348
今日推荐
周排行