Я хочу найти значения в списке ключей на карте.Если карта не содержит ключа, она должна вернуть пустой список.
val keys = List("a", "b", "c")
val kv = Map("a" -> List(0,1), "b" -> List(1))
val result: List[List[Int]] = List( List(0,1), List(1), List())
Мой подход был следующим:
val result = for (key <- keys; value <- kv.getOrElse(key, List.empty[Int])) yield value
Но это просто возвращает result : List[Int] = List(0, 1, 1)
И kv.filterKeys(word => keys.contains(word)).values.toList
тоже не возвращает пустой список (очевидно)
Так что мой вопрос: почему функция getOrElse не работает должным образом иликак я могу сделать это лучше?