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)

新着情報
【オープンソースソフトウェア環境構築】Apple silicon Macで開発環境を構築
【Rust Tips】Actix webでJSONをPOSTする
【Rust Tips】コマンドライン引数を取得する

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