Подтвердить что ты не робот

Добавление элемента к концу вектора

Scaladocs объясняют, как добавить элемент в вектор.

def :+(elem: A): Vector[A]
[use case] A copy of this vector with an element appended.

Пример:

scala> Vector(1,2) :+ 3
res12: scala.collection.immutable.Vector[Int] = Vector(1, 2, 3)

Для большой коллекции кажется дорогостоящим копировать весь Вектор, а затем добавить к нему элемент.

Какой лучший (самый быстрый) способ добавить элемент в вектор?

4b9b3361

Ответ 2

Если вы собираетесь делать много добавок, вы должны использовать очередь, так как это гарантирует постоянное добавление времени. Для получения информации о временной сложности коллекций вы можете обратиться к этому обману.

http://www.scala-lang.org/docu/files/collections-api/collections_40.html

Ответ 3

Добавление к вектору в Scala занимает эффективное постоянное время. Вектор копируется в том смысле, что многие его структуры данных повторно используются, а не в том смысле, что все элементы копируются в новый вектор. См. Ссылку, предоставленную coltfred для получения дополнительной информации о временной сложности коллекций:

http://www.scala-lang.org/docu/files/collections-api/collections_40.html