本帖最后由 周海诚 于 2012-5-2 08:15 编辑
在JDK类库中,有一部分类实现了Comparable接口,如Integer Double和String等。
Comparable接口有一个comparTo(Object o)方法,它返回整数类型。
对于表达式x.compareTo(y),如果返回值为0,则表示x和y相等,如果返回值大于0,
则表示x大于y,如果返回值小于0,
则表示x小于y.TreeSet集合调用对象的compareTo()方法比较集合中的大小,
注意了不是TreeSet调用它自己的comparTo()方法而是它调用集合中对象的comparTo()方法.
TreeSet类本身并没有实现Comparable接口,然后进行升序排列,这种方式称为自然排序.
除了自然排序,TreeSet还支持客户化排序.java.util.Comparator<Type>接口提供具体的排序方式,
<Type>指定被比较的对象的类型,Comparator有个compar(Type x,Type y)方法,
用于比较两个对象的大小,当compare(x,y)大于0时表示x大于y,小于0表示x小于y
等于0表示x等于y 指定一个比较器
|