为什么o1-o2就是升序,o2-o1就是降序呢?
因为在comparator里面,-1代表小于,0代表等于,1代表大于
你这样写的话,应该只是按照长度排序吧
在进行比较的时候需要返回-1或者0,如果不是就需要交换,
你写的o1代表前一个元素,o2代表后一个元素
也就代表前一个元素必须小于后一个元素,在这里也就是前一个比后一个短
如果你要从大到小,就改成o2-o1,也就是o2-o1需要返回-1,那么前面就比后面大了
o1值的是集合中的第一个对象
o2是第二个对象
当遍历到第一个对象o1的时候 去减o2 如果是负数或者0 就不需要换位置,如果是整数就换位置
所以就是升序
反之 o2-o1的时候 如果是负数或者0不需要换位置,所以一定是降序。