リストにいくつかのレコードがあります。 今度は、そのリストから各レコードの一意のキーを持つ新しいマップ(変更可能なマップ)を作成したいと思います。私はリストを読んでこれを達成し、scalaのmapという高次メソッドを呼びたいと思います。ScalaのListの要素を読み込んでマップを作成
records.txtは
100,Surender,2015-01-27
100,Surender,2015-01-30
101,Raja,2015-02-19
私の入力ファイルで予想される出力:
Map(0-> 100,Surender,2015-01-27, 1 -> 100,Surender,2015-01-30,2 ->101,Raja,2015-02-19)
Scalaのコード:
object SampleObject{
def main(args:Array[String]) ={
val mutableMap = scala.collection.mutable.Map[Int,String]()
var i:Int =0
val myList=Source.fromFile("D:\\Scala_inputfiles\\records.txt").getLines().toList;
println(myList)
val resultList= myList.map { x =>
{
mutableMap(i) =x.toString()
i=i+1
}
}
println(mutableMap)
}
}
しかし、私は
Map(1 -> 101,Raja,2015-02-19)
以下のような出力を取得しています
なぜ最後のレコードだけを保持しているのか理解したい。 誰かが私を助けることができますか?
この素敵なアプローチのおかげで、私はちょうど私のコードで何がうまくいかなかったのかを知りました。私のコードを再び編集しました。 –