理解Compare()函数的返回值(Java)

Compare函数:

Compares its two arguments for order. Returns a negative integer,zero, or a positive integer as the first argument is less than, equalto, or greater than the second.

1:前面的数>后面的数,是降序(从大到小)排列,如果想要改为升序排列,就需要返回1
-1:前面的数<后面的数,是升序(从小到大)排列,不改变位置就返回-1;
0:二者相等,不进行交换,也就不排序。但是要根据题目来判断返回什么。如果数组是无序的,不能直接返回0。若保证升序排列,要返回o1-o2,降序则o2-o1。

  • return 0:不交换位置,不排序
  • return 1:交换位置
  • return -1:不交换位置
  • return o1-o2:升序排列
  • return o2-o1:降序排列

"有个小技巧,你想用什么作为排序的依据,return什么。"这句话需要实践才能体会。
来日方长,慢慢体会。
end.

你可能感兴趣的:(Java笔记)