Disons que j'ai une séquence de chaînes de caractères en entrée et que je veux obtenir un nouvel objet immuable. Seq
qui se compose d'éléments de l'entrée et d'un élément "c"
. Voici deux méthodes que j'ai découvertes et qui fonctionnent :
-
assert(Seq("a", "b", "c") == Seq("a", "b") ++ Seq("c"))
- le problème avec celui-ci est qu'il semble que l'instanciation d'une séquence temporaire (Seq("c")
) juste pour le plaisir de l'opération est inutile et entraînera des frais généraux. -
assert(Seq("a", "b", "c") == List("a", "b") ::: "c" :: Nil)
- celui-ci restreint le type de collection d'entrée à unList
doncSeq("a", "b") ::: "c" :: Nil
ne fonctionnera pas. Il semble également que l'instanciation d'unNil
peut également entraîner des frais généraux
Mes questions sont les suivantes :
- Existe-t-il un autre moyen d'effectuer cette opération ?
- Laquelle est la meilleure ?
- N'est-ce pas ?
Seq("a", "b") ::: Nil
n'étant pas autorisé une faille des développeurs de Scala ?