Используйте оператор :+
(добавление), чтобы создать новый Seq
, используя:
val seq = Seq("a", "b") :+ "c"
// seq is now ("a","b","c")
Примечание: :+
создаст новый объект Seq
.Если у вас есть
val mySeq = Seq("a","b")
и вы будете звонить
mySeq :+ "c"
mySeq
все равно будет ("a","b")
Обратите внимание, что некоторые реализации Seq
болееподходит для добавления, чем другие.List
оптимизирован для добавления.Vector
имеет быстрые операции добавления и добавления.
:::
- это метод для List
, для которого в качестве параметра требуется еще один List
- какие преимущества вы видите в этом, принимая другие типы последовательности?Это должно было бы преобразовать другие типы в List
.Если вы знаете, что List
эффективен для вашего случая использования, используйте :::
(если необходимо).Если вам нужно полиморфное поведение, тогда используйте обобщенный ++
.
Нет никаких дополнительных затрат на использование Nil
;Вы не создаете экземпляр, потому что это синглтон.