title: Lists in Scala - plus colon vs double colon (+: vs ::)
body: <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>