个人总结:
comparable 是让元素自身(元素)进行比较,你大还是我大,你长还是我长,这个对象都是元素自身....需要通过equals,compareTo,hashColde....这些方法都是比较的元素自身.
comparator 就相当于领导(集合),它是站在一个更高角度去看它里面的这些元素,所以能够给这些元素进行排序.而排序,它有自身的比较方法,比如compare,和equals,可以通过collections里面的一些比较方法进行控制操作,比如倒序.reverseOrder()倒序,还可以随机shuffle()....
一个是操作元素本身,一个是对整体元素进行操作.
个人的一些理解,获取有不对的地方,仅当参考.呵呵 |