2017-07-20 51 views
0

我有一個val指向從HDFS文件中讀取的大量記錄集合。我們稱之爲val'a'。 'a'有一堆記​​錄,都包含這3個屬性:SRC,DEST,ACT。我需要製作'a'的克隆,但是在每條記錄中都有SRC和DEST鍵的值。我該如何着手在Scala中做這件事?我已經嘗試過不同的地圖功能,但似乎無法使其正常工作。Scala:交換集合中的兩個關鍵值?

+3

詞描述你的問題是好的。證明你的問題的代碼更好。 – jwvh

回答

2

好,沒有代碼示例,我猜你的需求和先決條件,但這樣的事情可以工作:

case class Record(src: String, dest: String, act: String) 

val a = List(
    Record("srcA", "destA", "actA"), 
    Record("srcB", "destB", "actB"), 
    Record("srcC", "destC", "actC"), 
    Record("srcD", "destD", "actD"), 
    Record("srcE", "destE", "actE"), 
) 

val b = a.map(r => Record(r.dest, r.src, r.act)) 

println(a) 
// => List(Record(srcA,destA,actA), Record(srcB,destB,actB), Record(srcC,destC,actC), Record(srcD,destD,actD), Record(srcE,destE,actE)) 

println(b) 
// => List(Record(destA,srcA,actA), Record(destB,srcB,actB), Record(destC,srcC,actC), Record(destD,srcD,actD), Record(destE,srcE,actE)) 
+0

@CN如果我的回答對你有幫助,請接受它作爲答案。否則,請提供有關您問題的進一步信息。 – EmilioMg

+0

在發佈之前我已經想清楚了,但這與我所做的非常相似。不管怎麼說,多謝拉 :) –