Lists in Scala - plus colon vs double colon (+: vs ::) : <p>I am little bit confused about <a href="http://www.scala-lang.org/api/current/scala/collection/immutable/List.html#+:(elem:A):List[A]" rel="noreferrer">+:</a> and <a href="http://www.scala-lang.org/api/current/scala/collection/immutable/List.html#::(x:A):List[A]" rel="noreferrer">::</a> operators that are available.</p>

<p>It looks like both of them gives the same results.</p>

<pre><code>scala&gt; List(1,2,3)
res0: List[Int] = List(1, 2, 3)

scala&gt; 0 +: res0
res1: List[Int] = List(0, 1, 2, 3)

scala&gt; 0 :: res0
res2: List[Int] = List(0, 1, 2, 3)
</code></pre>

<p>For my novice eye source code for both methods looks similar (plus-colon method has additional condition on generics with use of builder factories).</p>

<p>Which one of these methods should be used and when?</p>
