我正在循环中将元素添加到列表中,但是在循环内部它表明已添加元素,但是在循环外部它未显示列表。
这是代码:
def createSubgraphList(subgraphRdd: RDD[String]) : List[SubGraph] = {
val lstSubGraph = ListBuffer[SubGraph]()
var subGraph : SubGraph =null
val subGraphlist : SubGraph = new SubGraph()
subgraphRdd.foreach(x => {
if(x.startsWith("f")){
val freq= x.split(" ")
subGraph.setIntFrequency(freq(1).toInt)
lstSubGraph.append(subGraph)
println("List size in loop: "+lstSubGraph.size)
}
if(x.startsWith("Subgraph")){
subGraph = new SubGraph();
subGraph.create()
}
if (x.startsWith("v")){
subGraph.addVertex(x)
}
if (x.startsWith("e")){
subGraph.addEdge(x)
}
})
println("List size out of the loop: "+lstSubGraph.size)
lstSubGraph.toList
}
Output :
List size in loop: 1
List size in loop: 2
List size out of the loop: 0