このコードでは、動的型キャストのためのXの使用方法を理解できます。しかし、関数を追加して実際にデータをどのように読み込むのか理解できません。このコードでaddおよびprintNodes関数の動作を明確にしてください
誰でも、addとprintNodesメソッドのステップ実行を詳細に理解するのを手伝ってください。おかげで(単独で)リンクされたリストで
class UsingGenericsForLinkedList[X] {
private class Node[X](elem: X) {
var next: Node[X] = _
override def toString = elem.toString
}
private var head: Node[X] = _
def add(elem: X) { //Add element in the linekd list
val value = new Node(elem)
value.next = head
head = value
}
private def printNodes(value: Node[X]) { // prining value of the nodes
if (value != null) {
println(value)
printNodes(value.next)
}
}
def printAll() { printNodes(head) } //print all the node values at a time
}