2
У меня есть два массива, которые мне нравится комбинировать и создавать Array[Item]
. Item
- класс дела. Вот пример:Что является самым простым способом создания объектов класса case из массива Tuple2?
case class Item(a: String, b: Int)
val itemStrings = Array("a_string", "another_string", "yet_another_string")
val itemInts = Array(1, 2, 3)
val zipped = itemStrings zip itemInts
В настоящее время я использую следующее решение, чтобы решить, но Интересно, есть ли другие возможности к этому ...
val itemArray = zipped map { case (a, b) => Item(a, b) }
дает то, что я хочу:
itemArray: Array[Item] = Array(Item(a_string, 1), Item(another_string, 2), Item(yet_another_string, 3))
Я также попытался это, но он не работает для последовательности элементов:
(Item.apply _).tupled(zipped:_*)
Item.tupled(zipped:_*)