Scalaのリストの::と:::方法

812 ワード

簡単に言えば、::2つのリストをつなぐために使用されます.
scala> List(1, 2) ::: List(3, 4)
res0: List[Int] = List(1, 2, 3, 4)

一方:要素とリストをつなぐために使用されます.
scala> 1 :: List(3, 4)
res1: List[Int] = List(1, 3, 4)

注意::の左側は追加する要素で、置くことはできません::右側
scala> List(3, 4) :: 1
:12: error: value :: is not a member of Int
       List(3, 4) :: 1
                  ^

Listは可変の集合であるため、既存のListを修正するのではなく、:::::::::,操作の結果として新しいListが生成される
scala> val list1 = List(1, 2)
list1: List[Int] = List(1, 2)

scala> val list2 = List(3, 4)
list2: List[Int] = List(3, 4)

scala> list1 ::: list2
res0: List[Int] = List(1, 2, 3, 4)

//list1 list2          
scala> println(list1)
List(1, 2)

scala> println(list2)
List(3, 4)