The difference between List ::: operator and ++

list, operators, scala

Solution

They do the same thing, except that `++` can be used with any `Traversable` and `:::` can only be used with lists. Also, methods that end with `:` are called on the object to the right, so that `:::`'s argument is the prefix while `++`'s argument is the suffix.

Problem

What is the difference between scala `:::` and `++` operator? According to the doc the behaviour is the same.

Original source