У вас есть пара проблем.
Во-первых, ваша graph
Карта переходит от String key к кортеж из значений .но так как ваши кортежи имеют разные размеры, компилятор заканчивает выводом java.io.Serializable
- я бы использовал List или другую коллекцию для значений.
Во-вторых, вы можете использовать empty
конструктор вместо new
для создания экземпляра search_queue
.
В-третьих, если вы хотите добавить несколько значений в изменяемую коллекцию, вы можете использовать оператор ++=
вместо зацикливания каждого значения и использования +=
.
* 1031.* В-четвертых, вам нужно, чтобы коллекция была изменчивой, а не ссылка на нее - поэтому вы можете использовать
val
.
Может быть, этот код может вам помочь.
import scala.collection.mutable.Queue
val graph = Map(
"you" -> List("bob", "claire", "alice"),
"alice" -> List("peggy"),
"bob" -> List("peggy", "anuj"),
"claire" -> List("jonny", "thom")
)
val searchQueue = Queue.empty[String]
searchQueue ++= graph.getOrElse("you", List.empty[String])
// searchQueue = Queue(bob, claire, alice)