2011-07-04 1 views
50
val list1 = List(1,2) 
val list2 = List(3,4) 

はその後::と::: Scalaの

list1::list2 returns: 

List[Any] = List(List(1, 2), 3, 4) 

list1:::list2 returns: 

List[Int] = List(1, 2, 3, 4) 

私は本の書き込みを見た使用::が、それはまたList[Int] = List(1, 2, 3, 4)の結果とき。私のScalaバージョンは2.9です。

答えて

62

::は1つの項目の前にあり、:::は完全なリストの前にあります。したがって、List::の前に置くと、それは1つの項目とみなされ、結果としてネストされた構造になります。

+0

パフォーマンス上の理由から、 '::'と ':::'には違いがありますか? – null

+1

パフォーマンスは 'O(n)'でなければなりません。 'n 'は前に付ける要素の数です。 – Debilski