ListBufferの初期化、全要素に対する処理Javaで良く使うArrayListに近いものがScalaのArrayBufferとかListBuffer辺りではないだろうか。このうちListBufferの宣言、初期化する。ListBufferのすべての要素に対して何か処理を行うには配列同様にforeachメソッドを使うことができる。 import scala.collection.mutable.ListBuffer val list = ListBuffer(0, 1, 2) // すべての要素を表示 list.foreach(println) Scalaで戸惑うのはListも含めたコレクションがMutable(可変)とImmutable(不変)に分かれていることである。Immutableについてはimportせずにそのまま使えるが、Mutableはimportしないと使えない。しかもMutableしかないコレクションや逆にImmutableしかないコレクションもあってやや複雑な感がある。 因みにListBufferはMutableなコレクションで、ListBufferには要素を追加することが可能であり、要素を追加するには+=等を使用する。 list += 3 list += 4 list.foreach(println) 空のListBufferを宣言するにはemptyメソッドを使用する。emptyの後に続けて型を渡す。以下の例ではString型のListBufferを宣言し要素を追加している。 // 空のString型ListBuffer val buf = ListBuffer.empty[String] buf += "One" buf += "Two" buf += "Three" buf.foreach(println) (2013/08/08)
Copyright© 2004-2018 モバイル開発系(K) All rights reserved.
[Home]
|