Я пытаюсь обновить значение элемента моей очереди приоритетов HashMaps без успеха. Вот как я это делаю:Priority Queue of HashMaps в Scala
def HashMapOrdering = new Ordering[HashMap[Int,Int]] {
def compare(a : HashMap[Int,Int], b : HashMap[Int,Int]) = b.valuesIterator.next().compare(a.valuesIterator.next())
}
def main(args: Array[String]) {
var seeds = PriorityQueue[HashMap[Int, Int]]()(HashMapOrdering)
seeds.enqueue(HashMap(4 -> 4), HashMap(234 -> 5), HashMap(78 -> 6), HashMap(89 -> 1))
seeds.find(x => x.get(89) == 1) match {
case Some(hashMap: HashMap[Int, Int]) => hashMap.remove(77); hashMap.put(77,32)
case None => println("Not found")
}
}
К сожалению, я всегда получал сообщение «Не найдено». Любые идеи о том, что я делаю неправильно или как обновить значения хэша?