TreeSet排序分析
- 要想进行排序实际上是针对于对象数组进行的排序处理,而如果要进行对象数组的排序,对象所在的类一定要实现Comparable接口并且覆写compareTo()方法,只有通过此方法才能知道大小关系
- 如果现在使用Comparable接口进行大小关系匹配,所有属性必须全部进行比较操作
重复元素判断
- 在使用TreeSet子类进行数据保存的时候,重复元素的判断依靠的ComParable接口完成的。
- 但是这并不是全部Set接口判断重复元素的方式,因为如果使用的是HashSet子类,由于其跟Comparable没有任何关系,所以它判断重复元素的方式依靠的是Object类中的两个方法:
- 1. hash码:
public native int hashCode();
- 2. 对象比较:
public boolean equals(Object obj);
- 在Java中进行对象比较的操作有两步:第一步要通过一个对象的唯一编码找到一个对象的信息,当编码匹配之后再调用equals()方法进行内容的比较。
class People implements Comparable<People>{
private String name;
private Integer age;
@Override
public String toString() {
return "People{" +
"name='" + name + '\'' +
", age=" + age +
'