【问题标题】:How to store elements in Scala List inside a loop?如何将元素存储在循环内的 Scala List 中?
【发布时间】:2018-12-10 23:05:19
【问题描述】:

我已经初始化了一个List,然后我必须在这样的循环中将元素存储到这个列表中:

private var linkLength:List[Double] = List()
    for (index <- 0 to linkIds.size - 1) {
       linkLength += networkLinks.get(index).getLength
    }

networkLinks.get(index).getLength 的值在Double 中,linkLength(变量初始化为 List)也在Double 中。 但我不明白为什么会出现此错误

Type mismatch, expected: String, actual: Double

如果我做错了什么,请告诉我,并为我提供合适的解决方案

【问题讨论】:

  • 请显示错误。
  • 嗨@godot,我已经提到了我遇到的错误。但是networkLinks.get(index).getLength 在 Double 但我不知道为什么会出现类型不匹配错误。
  • 您可以使用::=,它应该可以工作,但正如@Dima 所提到的,这不是 scala 中的工作方式。

标签: scala list scala-collections


【解决方案1】:

不要使用可变变量,也不要按索引访问列表(这非常低效)。

val linkLength = networkLinks.map(_.getLength)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-28
    • 2020-07-19
    • 2017-06-12
    相关资源
    最近更新 更多