Как я могу преобразовать ArrayBuffer из Maps(String,String) в Array из Maps(String, String) в Scala с помощью toArray()?
ArrayBuffer(Map("x1" -> "x", "y1" -> "y"), Map("x2" -> "x", "y2" -> "y"))
к
Array(Map("x1" -> "x", "y1" -> "y"), Map("x2" -> "x", "y2" -> "y"))



ArrayBuffer - это изменяемая структура данных. вы можете вызвать .toArray, чтобы преобразовать его в неизменяемый Array
scala> import scala.collection.mutable.ArrayBuffer
import scala.collection.mutable.ArrayBuffer
scala> ArrayBuffer(Map("x1" -> "x", "y1" -> "y"), Map("x2" -> "x", "y2" -> "y"))
res1: scala.collection.mutable.ArrayBuffer[scala.collection.immutable.Map[String,String]] = ArrayBuffer(Map(x1 -> x, y1 -> y), Map(x2 -> x, y2 -> y))
сейчас звоните .toArray,
scala> res1.toArray
res2: Array[scala.collection.immutable.Map[String,String]] = Array(Map(x1 -> x, y1 -> y), Map(x2 -> x, y2 -> y))
См. Определение для toArray, которое возвращает Array[B],
scala> res1.toArray
def toArray[B >: scala.collection.immutable.Map[String,String]](implicit evidence$1: scala.reflect.ClassTag[B]): Array[B]
toArray не всегда работает, например. «Ошибка недостаточно аргументов для toArray. Неуказанное значение параметра свидетельствует о $ 2».
Если вам нужен неизменный массив Scala и неизменяемая карта, тогда
import scala.collection.mutable.ArrayBuffer
ArrayBuffer(Map("x1" -> "x", "y1" -> "y"), Map("x2" -> "x", "y2" -> "y")).toArray
Вы можете сделать arrBuff.toArray