小编Abh*_*pta的帖子

科特林 | 具有自定义比较器的最大堆类型的优先级队列

我想为以下类的对象创建一个优先级队列(最大堆)

data class Tuple(val column: Column, var count: Int)
Run Code Online (Sandbox Code Playgroud)

哪里Column

data class Column(val name: String, val dataType: String)
Run Code Online (Sandbox Code Playgroud)

我编写了以下代码来使用自定义比较器实例化上述类对象的优先级队列,如下所示:

val compareByCount: Comparator<Tuple> = compareByDescending { it.count }
val pq = PriorityQueue<Tuple>(compareByCount) 
Run Code Online (Sandbox Code Playgroud)

当我填充PriorityQueue并执行时pq.peek(),它返回Tuple计数最低的对象。为什么会这样呢?尽管我提供了一个按降序检查的比较器。

kotlin

6
推荐指数
1
解决办法
6081
查看次数

无法创建新模块(模块已存在)Intellij

我正在尝试在我的项目中创建一个新模块。一旦我指定了模块的名称,Intellij 就会抛出“该模块已经存在”。退出向导后,它会创建一个具有相同模块名称的目录,但不会使其成为模块。我删除了目录并执行了“使缓存无效并重新启动”,但错误仍然存​​在。

错误信息截图

项目结构截图

intellij-idea gradle

2
推荐指数
4
解决办法
4637
查看次数

标签 统计

gradle ×1

intellij-idea ×1

kotlin ×1