У меня есть карта, как показано ниже
t: scala.collection.immutable.Map[String,String] = Map(col3 -> val3, col2 -> val2, col5 -> val5, col1 -> val1, col4 -> val4)
Я хочу получить ключи и значения в 2 переменных массива за одну итерацию, чтобы ключ/значения идти в том же порядке.
Приведенное ниже задание, похоже, не работает
val x,y = for{ (x,y) <- t } yield (x,y)
x: scala.collection.immutable.Map[String,String] = Map(col3 -> val3, col2 -> val2, col5 -> val5, col1 -> val1, col4 -> val4)
y: scala.collection.immutable.Map[String,String] = Map(col3 -> val3, col2 -> val2, col5 -> val5, col1 -> val1, col4 -> val4)
чего я хочу
x:List[String] = List(col3 , col2 , col5 , col1 , col4 )
y:List[String] = List(val3 , val2 , val5 , val1 , val4 )
Как его получить?.
@LuisMiguelMejíaSuárez.. да, верно.. :-(
Может стоит самому добавить решение и принять его, или удалить вопрос.
Лео добавил решение.. и его сейчас нет.. добавлю
Добавление ответа по запросу Томера.
val (x, y) = t.unzip
работает
Как я всегда говорю, Scaladoc — ваш друг:
val (x, y) = t.unzip