我在理解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以升序排列吗?
富国沪深
随时随地看视频慕课网APP
相关分类