无法在科特林映射列表

时间:2018-12-04 15:56:16

标签: android kotlin

我正在尝试修改mutableListOf中的所有数据,但没有成功。

对于我阅读的内容,可能是:The mapping operation returns a modified list by applying a transform function on each element of the list.

我的代码是这样的:

val secValue = 110.0
val alertValue = 180.00

val maxValue = 0.111111
val mediumValue = 0.0909090909
val topValue = 0.7353
var data = mutableListOf<Double>(11.0, 28.0, 30.0, 24.0, 34.0, 31.0, 32.0)
 data.map {it ->
      if (it <= secValue)   {it*mediumValue}
      else if (it <= alertValue) {it * maxValue}
      else {it * topValue}
  }

2 个答案:

答案 0 :(得分:1)

如果您使用的API> = 24,则可以使用Java 8的List.replaceAll(UnaryOperator<E> operator)

data.replaceAll {it ->
        if (it <= secValue)   {it*mediumValue}
        else if (it <= alertValue) {it * maxValue}
        else {it * topValue}
    }

答案 1 :(得分:0)

我找到了解决方法:

 var result = data.map {...}

问题是map函数返回的是List<T>而不是MutableList<T>