object Test02
{
def
main(args
: Array
[String
]): Unit
= {
val resultList
= scala
.collection
.mutable
.LinkedList(1,2,3,4,5)
var currentList
= resultList
while (currentList
!= Nil
){
currentList
.elem
= currentList
.elem
*2
currentList
= currentList
.next
}
println("---------")
resultList
.foreach(x
=>print(x
+"\t"))
println("+++++++++++")
currentList
.foreach(x
=>print(x
+"\t"))
println("===========")
}
}
object Test0201
extends App {
val currentList
= scala
.collection
.mutable
.LinkedList(1,2,3,4,5)
while (currentList
!= Nil
){
currentList
.elem
= currentList
.elem
*2
currentList
.next
}
println("---------")
println("+++++++++++")
currentList
.foreach(println
)
println("===========")
}
object Test0202
extends App {
val currentList
= scala
.collection
.mutable
.LinkedList(1,2,3,4,5)
while (currentList
!= Nil
){
println("---------" + currentList
)
currentList
.next
println("---------"+ currentList
)
}
println("---------")
println("+++++++++++")
currentList
.foreach(println
)
println("===========")
}
object Test0203
{
def
main(args
: Array
[String
]): Unit
= {
val resultList
= scala
.collection
.mutable
.LinkedList(1,2,3,4,5)
var currentList
= resultList
while (currentList
!= Nil
){
println("== " + currentList
)
currentList
.elem
= currentList
.elem
*2
currentList
= currentList
.next
println(currentList
)
}
println("---------")
resultList
.foreach(x
=>print(x
+"\t"))
println()
println("+++++++++++")
currentList
.foreach(x
=>print(x
+"\t"))
println(currentList
)
println("===========")
}
}
因为 .next 表示每次获取 除了第一个元素以外的其他元素,所以currentList最后变成了空的LinkedList() ,所以用 foreach 遍历为空 可以用 println(currentList) 发现输出了 LinkedList() ,, 个人觉得和垃圾回收机制无关 currentList 还是存在的 只是变成了 空的集合
转载请注明原文地址: https://mac.8miu.com/read-505305.html