我有以下代码片段: 代码读取系统(Linux)字典(en)文件并将其保存在内存列表中。
代码 1:(使用可变列表)
val word = scala.collection.mutable.LinkedList[String]("init");
for(line <- Source.fromFile("/usr/share/dict/words").getLines()){
val s : String = line.trim()
if( // some checks
){
word append scala.collection.mutable.LinkedList[String](s)
}
}
代码 2:(使用不可变列表)
var word = List[String]()
for(line <- Source.fromFile("/usr/share/dict/words").getLines()){
val s : String = line.trim()
if( // some checks
){
word ::= s
}
}
代码 2:几乎立即返回,但代码 1:永远需要。
任何人都可以帮助我,为什么可变列表需要这么多时间?. 我们应该使用 Mutable 还是我做错了什么?
使用的 Scala 版本:2.10.3
在此先感谢您的帮助。