на выходе коллекции в Scala - PullRequest
1 голос
/ 02 мая 2020

Когда я пытался напечатать MapView, мне пришло сообщение MapView(<not computed>)

val phonebook = Map("Jim" -> 555, "Daniel" -> 789)
println(phonebook)           // Map(Jim -> 555, Daniel -> 789)

val filteredMap = phonebook.filterKeys(_.startsWith("J"))
println(filteredMap("Jim"))  // 555
println(filteredMap)         // MapView(<not computed>)

Если я определил filteredMap следующим образом

val filteredMap = phonebook.view.filterKeys(_.startsWith("J"))

, то ничего не было изменилось. Scala версия 2.13.2

Почему просмотр карты не может быть распечатан и как это можно исправить?

1 Ответ

3 голосов
/ 02 мая 2020

Добавьте .toMap, чтобы преобразовать ваш mapView в stati c карту. По предложению @ Луис Мигель Мехиа Суарес

val filteredMap = phonebook.view.filterKeys(_.startsWith("J")).toMap
...