我在理解Java中使用“自定义比较器”进行排序时遇到麻烦。
Queue<Integer> q = new PriorityQueue<>(arr.length, (a,b) -> a-b);
给我升序排序,而
Queue<Integer> q = new PriorityQueue<>(arr.length, (a,b) -> b-a);
给我降序排序。
我不明白的是这是怎么工作的?b
传入元素是否a
已经在数组中,反之亦然?另外,如何获得升序或降序?
如果是a-b > 0
,则表示a>b
,那么不b
应该a
以升序排列吗?
相关分类