一招速记Comparable和Comparator

  • Comparable、 Comparator 都是用来实现集合中元素的比较、排序的,只是 Comparable 是在集合内部定义的方法实现的排序,Comparator是在集合外部实现的排序。

怎么理解哪?

在这教大家一个速记法,如果英语好的人很容易区分这两者,因为它们的名字已经告诉了我们他们两个最大的区别。后缀able代表某事物具有什么能力,很显然实现了Comparable接口的类自身具有比较大小的能力,假如A类实现了Comparable接口,那么他可以直接调用a1.compareTo(a2)与另一个对象比较大小,他们的方法的名字也很讲究,这里是To。后缀tor代表这个事物的属性是一个工具,如果一个类T实现了Comparator接口,那么T就是一个比较的工具,只能把两个要比较的东西传进来,即t.compare(a1,a2),所以这个方法后面没有To

所以他们有各自的特性,根据自己的业务需求选择。

你可能感兴趣的:(Java基础,java)