猿问

自定义比较器-Java

我在理解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以升序排列吗?


富国沪深
浏览 119回答 1
1回答
随时随地看视频慕课网APP

相关分类

Java
我要回答