为什么我无法使用{Scala}从循环的外部获取列表的元素

时间:2019-07-01 07:39:44

标签: scala apache-spark

我正在循环中将元素添加到列表中,但是在循环内部它表明已添加元素,但是在循环外部它未显示列表。

这是代码:

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

0 个答案:

没有答案