Скажем, у меня есть последовательность строк в качестве ввода, и я хочу получить новый неизменяемый Seq
, который состоит из элементов ввода и элемента "c"
. Вот два метода, которые я обнаружил, чтобы работать:
-
assert(Seq("a", "b", "c") == Seq("a", "b") ++ Seq("c"))
- проблема с этим заключается в том, что кажется, что создание экземпляра временной последовательности (Seq("c")
) только ради операции является избыточным и приведет к накладным расходам -
assert(Seq("a", "b", "c") == List("a", "b") ::: "c" :: Nil)
- это ограничивает тип входной коллекции какList
, поэтомуSeq("a", "b") ::: "c" :: Nil
не будет работать. Также кажется, что создание экземпляра aNil
также может привести к накладным расходам
Мои вопросы:
- Есть ли другой способ выполнения этой операции?
- Какой из них лучше?
- Не разрешено ли
Seq("a", "b") ::: Nil
недостаток разработчиков Scala?