TreeSet会检测hashcode和equals吗?
应该不会。
下面是代码检测。
import java.util.TreeSet;
/**
* @author 青韵
* @date 2020/10/9 - 10:26
*/
public class TreeCollectTest {
public static void main(String[] args){
Person a = new Person(20, "张三");
Person b = new Person(18, "李四");
TreeSet<Person> treeSet = new TreeSet<>();
treeSet.add(a);
treeSet.add(b);
System.out.println(treeSet);
}
static class Person implements Comparable<Person>{
private Integer age;
private String name;
public Person(Integer age, String name) {
this.age = age;
this.name = name;
}
@Override
public int compareTo(Person o) {
return this.age - o.age;
}
@Override
public int hashCode() {
return 1;
}
@Override
public boolean equals(Object obj) {
return true;
}
@Override
public String toString() {
return "Person{" +
"age=" + age +
", name='" + name + '\'' +
'}';
}
}
}
结果: