我想为以下类的对象创建一个优先级队列(最大堆)
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计数最低的对象。为什么会这样呢?尽管我提供了一个按降序检查的比较器。
我正在尝试在我的项目中创建一个新模块。一旦我指定了模块的名称,Intellij 就会抛出“该模块已经存在”。退出向导后,它会创建一个具有相同模块名称的目录,但不会使其成为模块。我删除了目录并执行了“使缓存无效并重新启动”,但错误仍然存在。