6
Я пытаюсь вытащить максимальное значение из карты вместе с ее ключом. Например:Получение максимальной пары значений ключа в карте Scala по значению
val map = Map('a' -> 100, 'b' -> 23, ... 'z' -> 56)
Где 100 это наибольшее значение, как бы я идти о потянув ('а', 100)? Я по существу хочу использовать Map.max, но поиск по значению, а не по ключу.
Совершенного, который работает! Мне нужно спросить: где вы получаете синтаксис для предиката, переданного maxBy()? – pmaurais
Если вы посмотрите на [API docs] (http://www.scala-lang.org/api/current/#scala.collection.Map), вы найдете для 'Map [A, B]': 'def maxBy [C] (f: ((A, B)) ⇒ C) (неявный cmp: Ordering [C]): (A, B) '- форматирование документа нарушено, я боюсь, поэтому я написал правильную форму здесь со свежим параметром типа 'C'. Таким образом, вы передаете функцию из кортежа (ключ, значение) в любое другое значение, для которого существует упорядочение. 'map.maxBy (_._ 2)' then - это просто краткая форма для 'map.maxBy {case (key, value) => value}'. –