Скажем, у меня есть последовательность строк в качестве ввода, и я хочу получить новый неизменяемый 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?