今天突然产生了一个想法,为什么TreeSet中的元素都要求实现Compareable接口,而不是直接使用它本身的equals()方法呢?
其实转念一想就知道了,因为TreeSet的元素是有序的,每一个元素都需要比较大小,而不是仅仅比较是否相等,而equals()方法只能比较两个元素是否相等,是不满足要求的,所以TreeSet的元素都要求实现Compareable接口,并实现它的compareTo()方法。
今天突然产生了一个想法,为什么TreeSet中的元素都要求实现Compareable接口,而不是直接使用它本身的equals()方法呢?
其实转念一想就知道了,因为TreeSet的元素是有序的,每一个元素都需要比较大小,而不是仅仅比较是否相等,而equals()方法只能比较两个元素是否相等,是不满足要求的,所以TreeSet的元素都要求实现Compareable接口,并实现它的compareTo()方法。