arrays - 在 scala 中更改列表类型的最佳方法

标签 arrays list scala functional-programming copy

我在 scala 中有一个名为 l : List[AType] 的列表,我想将其更改为 list[String]。

这听起来像是一种非常肮脏、低效的方法,但我不太确定最好的方法。我的代码是:

var result = new Array[String]("a","b")
l foreach { case a => result = result :+ (a.toString().toUpperCase()); }
result toList

我不确定这是否是我的错误所在,因为它没有给我任何东西,即使我在循环中放入打印语句,它甚至没有打印任何内容。

所以我决定将其更改为更命令式的方式:

for(i <- 0 to l.length) {
    result.update(i, l(i).toString)
}

这次我在循环内打印时看到了我想看到的东西,但最后程序因 IndexOutOfBound 错误而崩溃。

有没有更有效、更好的方法来做到这一点?

谢谢!

最佳答案

看看 map 功能。例如,

scala> List("Some", "Strings").map(_.toUpperCase)
res2: List[java.lang.String] = List(SOME, STRINGS)

scala> List("Some", "Strings").map(_.length)
res0: List[Int] = List(4, 7)

关于arrays - 在 scala 中更改列表类型的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3410717/

相关文章:

javascript - 从对象数组javascript中删除元素

java - 在 java 中对 ArrayList<Integer> 的数组进行排序

python - 如何在Python中将字符串转换为列表?

java - Scala 类 Gson 库

scala - 如何让 SBT 仅重新运行失败的测试

scala - 是否可以引用 Scala 案例类构造函数参数的类型?

php - 将数据存储到 PHP 数组中

PHP循环数组以隐藏 `select`中的选项

c# - 在 List<T> 和 IEnumerable<T> 之间自由转换

python - 使用给定字符串更改列表