読者です 読者をやめる 読者になる 読者になる

basyura's blog

あしたになったらほんきだす。

リストへの要素の追加(append)の問題

scala

今日もコップ本

Scalaスケーラブルプログラミング[コンセプト&コーディング] (Programming in Scala)

Scalaスケーラブルプログラミング[コンセプト&コーディング] (Programming in Scala)

List クラスは要素の末尾への追加(append)をサポートしていないが、それは追加操作に要する時間がリストさイズに比例するからである。
・・・略・・
先頭に挿入してから最後に reverse を呼び出せば良い。

男前だなぁ・・・。

scala> var list: List[Int] = List()
scala> list = 1 :: list            
scala> list = 2 :: list            
scala> list = 3 :: list            
scala> list = 4 :: list
scala> list = 5 :: list
scala> list = list.reverse
scala> list
res13: List[Int] = List(1, 2, 3, 4, 5)

ちなみに、これをやるために 30 分ぐらいかかった・・・。空配列を作っただけだとダメで、型を指定しないと追加するときに怒られる。