2017-10-21 144 views
1

我有我與指數拉上一個名單:獲取特定的增量鍵值到一個數組

val fun_i_map_e = (list.indices zip list).toMap 

現在,我想每個鍵的值遞增,由num:Int

for (k<-0 until list.length by num) 
    for ((k,v) <- fun_i_map_e) { 
    bufferArray += v} 

的想法這裏是Java中的這樣的東西:

for (k = 0; k <= list.length; k+= num){ 
    //increment key k each time and store value into dynamic array } 

但是,我得到非常隨機和完整的垃圾輸出噸。如果有人能幫助我,因爲我是Scala新手,我將不勝感激。

回答

1

你快到了。所有你需要的是塑造你for功能與yield下面

val bufferArray = for (k <- 0 until list.length by num) yield fun_i_map_e(k) 

我希望答案是有幫助的

給出
0
val list = List[Int](5, 6, 7, 8) 
val map = list.indices.zip(list).toMap 
val num: Int = 15 

val incremantedKeys = map.keys.map { k => k + num } 

println("Original keys:") 
println(map.keys) 
println 

println(s"Keys incremented by $num:") 
println(incremantedKeys) 
相關問題