洛上言 2023-06-22 15:15 采纳率: 95.4%
浏览 33
已结题

Array.sort()中的第二个参数是什么意思,是java里面的哪个知识点?

Array.sort()中的第二个参数是什么意思,是java里面的哪个知识点?

img


完整代码:

 Arrays.sort(idx, (i, j) -> queries[i] - queries[j]);
  • 写回答

2条回答 默认 最新

  • 竹山全栈 2023-06-22 15:26
    关注

    Arrays.sort() 方法定义是一个用于排序数组的静态方法,它可以接受一个待排序数组和一个 Comparator 对象。
    第二个参数 (i, j) -> queries[i] - queries[j] 是一个 lambda 表达式,也是一个 Comparator 接口的实现。它指定了在对数组 idx 进行排序时,应该如何比较其中的元素。
    关键这个 lambda 表达式接受两个参数 ij,它们代表了数组 idx 中要进行比较的两个元素的下标。queries 数组是另外一个数组,它和 idx 数组一起被排序。 (i, j) -> queries[i] - queries[j] 会按照查询数组 queries 中的值从小到大比较 idx 数组中的两个元素,也就是说,它会将 idx 数组按照查询数组 queries 中的值升序排列。
    使用场景是在需要比较的时候动态创建比较器,使得代码更加简洁灵活。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月30日
  • 已采纳回答 6月22日
  • 创建了问题 6月22日