Dire, ho una sequenza di stringhe come input e voglio ottenere un nuovo Seq
immutabile che consiste di elementi dell'input e un elemento "c"
. Qui ci sono due metodi che ho scoperto di essere al lavoro:Aggiunta di un elemento a un immutabile Seq
assert(Seq("a", "b", "c") == Seq("a", "b") ++ Seq("c"))
- il problema con questo è che sembra che un'istanza di una sequenza temporanea (Seq("c")
) solo per il gusto dell'operazione è rendundant e si tradurrà in overheadassert(Seq("a", "b", "c") == List("a", "b") ::: "c" :: Nil)
- questo limita il tipo di raccolta di input per essere unList
, quindiSeq("a", "b") ::: "c" :: Nil
non funzionerà. Inoltre sembra che un'istanza di unNil
può aswell risultato in testa
Le mie domande sono:
- C'è un altro modo per eseguire questa operazione?
- Qual è il migliore?
- Non è consentito a
Seq("a", "b") ::: Nil
un difetto degli sviluppatori di Scala?
Vedere anche http://stackoverflow.com/q/6559996/770361 per ':::' equivalente su non-elenchi –