comparable和comparator的区别
目前java自带的compare接口有两种comparable的compareTo方法和comparator的compare方法,一般实现后可以用来进行大小的比较,在集合排序中也会用到这个进行排序。
comparable一般是某个要存储的到集合的对象所属类去实现compareTo方法,可以作为该类的默认比较类或排序方法。它的返回结果 有三类 -1:当前对象小于参数对象,0:当前对象等于参数对象,1当前对象大于参数对象。在Collections.sort(List<T> list);方法用的就是这个方法去排序(需要存储的对象去实现)
comparator一般是单独去实现一个内部类,不去更改现有类的整体稳定结构,在内部类里去实现comparator的compare方法,相当于实现扩展的比较方法。返回结果也有三个-1:第一个参数小于第二个参数,0:两个参数相等,1,第一个参数大于第二个参数,在Collections.sort(List<T> list, Comparator<? super T> c)的方法中体现了这种思想,参数里传了一个Comparator的实现类,然后通过实现的比较方式去比较大小。
                    
                
                
            
        
浙公网安备 33010602011771号