【问题标题】:Comparator as lambda expression in PriorityQueue [duplicate]比较器作为 PriorityQueue 中的 lambda 表达式
【发布时间】:2021-09-27 15:19:46
【问题描述】:

你能指出我哪里出错了吗?

工作正常

Arrays.sort(arr, (a, b) -> a[0] - b[0] );

错误:需要数组,但找到了对象

PriorityQueue<int[]> pq = new PriorityQueue(10, ( (a, b) -> a[0] - b[0] ));

错误:不兼容的类型:lambda 表达式中的参数类型不兼容

PriorityQueue<int[]> pq = new PriorityQueue(10, ( (int[] a, int[] b) -> a[0] - b[0] ));

【问题讨论】:

  • 是的,谢谢拉文德拉。

标签: java-8 comparator priority-queue


【解决方案1】:

参数需要 arr.length,它是一个 int,但你传递了一个我认为是数组的 arr。

【讨论】:

  • 更新了问题以消除歧义。 PriorityQueue 构造函数:PriorityQueue(int initialCapacity, Comparator super E> 比较器)
猜你喜欢
  • 2017-10-07
  • 1970-01-01
  • 2012-09-11
  • 1970-01-01
  • 1970-01-01
  • 2018-04-28
  • 1970-01-01
  • 1970-01-01
  • 2021-04-02
相关资源
最近更新 更多