将特定的增量键值放入数组中

Getting specific incremental key values into an array

我有一个用索引压缩的列表:

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 的新手。

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)

你快到了。您所需要做的就是用 yield 塑造您的 for 函数,如下所示

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

希望回答对你有帮助