Scala обновление хвоста ListBuffer - PullRequest
0 голосов
/ 08 марта 2020

Я хотел бы обновить последнее значение ListBuffer:

val res = ListBuffer[String]()
res += "a"
res += "b"
res.last = "c"

Ошибка компиляции:

Ошибка: (28, 9) значение last_ = не является член scala .collection.mutable.ListBuffer [String] res.last = "c"

Я мог бы использовать res.update(1, "c"), но это линейно по времени, и я был в поисках постоянного обновления времени, так как доступ к последнему элементу постоянен во времени.

Это как-то достижимо?

1 Ответ

0 голосов
/ 09 марта 2020

Я думаю, что решение с использованием listBuffer:

scala> val res = ListBuffer[String]()
res: scala.collection.mutable.ListBuffer[String] = ListBuffer()

scala> res += "a"
res128: res.type = ListBuffer(a)

scala> res += "b"
res129: res.type = ListBuffer(a, b)

scala> res(res.size-1) = "c"

scala> res
res131: scala.collection.mutable.ListBuffer[String] = ListBuffer(a, c)

Хотя для этого случая рекомендуется использовать arrayBuilder.

Дайте мне знать, если это поможет !!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...