Java.Utils中为所有需要排序的对象提供了Comparator接口,当我们不想按照默认的升序对数组等集合排序时候,我们就要向sort方法传入一个实现了Comparator接口的类的对象来自定义排序。(或者如果你使用Java8,向sort中传入一个lambda函数也很方便)
sort会从前到后滑动窗口式的把数组中元素传入comparate(int a,int b) 根据结果来排序:
comparate方法逻辑如下:
如果返回负数:a放前边,如果返回正数a放后边:
这个逻辑如果不经常用肯定会忘,可以按照下边的方法记忆comparate的逻辑:
返回值>0中的大于号就像一个"->"右箭头,需要把参数a向右放(向后)
返回值<0就像一个左箭头,需要把参数a向左放