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)

新着情報
【iOS Objective-C, Swift Tips】画像の向きを指定して保存する(Swift)
【iOS Objective-C, Swift Tips】UIImagePickerControllerの表示を日本語にする(Swift)
【iOS Objective-C, Swift Tips】ウィンドウの階層構造を3D表示する(Swift)

Copyright(C) 2004-2015 モバイル開発系(K) All rights reserved.
[Home]