【问题标题】:How do I sort a list of Doubles in Scala? [duplicate]如何在 Scala 中对双精度列表进行排序? [复制]
【发布时间】:2014-07-05 17:19:12
【问题描述】:

如何在 Scala 中对一个简单的双精度列表进行排序?

var dubs = List(1.3,4.5,2.3,3.2)

我认为我的问题可能没有准确反映我的具体问题,因为我现在意识到 dubs.sorted 可以很好地解决上述问题。我的问题如下,我有一个字符串 "2.3 32.4 54.2 1.33" 我正在解析并添加到列表中

var numsAsStrings = l.split("\\s");
var x = List(Double);
var i = 0;
for( i <- 0 until numsAsStrings.length) {
  x :+ numsAsStrings(i).toDouble;
}

所以,我认为我可以在上面调用x.sorted,但这不起作用...我一直在查看 sortBy、sorted 和 sortWith 文档和各种帖子,但我认为解决方案应该更简单。无论如何,我认为我缺少一些基本的东西。

【问题讨论】:

  • 我认为你不能诚实地说你在发帖之前已经研究过这个问题。
  • @LimbSoup。你在某种程度上是对的,尤其是考虑到我最初发布的内容。不过,我没有准确地反映我的问题,这是我的错。 dubs.sorted 在我列为第一个示例的情况下工作得很好。我的问题可能同样微不足道,但我似乎可以找到我期望的简单解决方案。我在原始问题中添加了更多细节
  • l.split("\\s").map{_.toDouble}.sorted
  • List(Double) 应该是 List[Double]()List(Double) 是一个包含 Double 的伴随对象的列表。

标签: scala


【解决方案1】:

使用sorted 方法

dubs.sorted  // List(1.3, 2.3, 3.2, 4.5)

【讨论】:

  • 感谢您回答最初的问题。这已经变成了一个集群@#$%,因为我相信我的问题更多地与列表有关,而不是排序......
猜你喜欢
  • 2022-01-24
  • 1970-01-01
  • 2016-08-24
  • 1970-01-01
  • 1970-01-01
  • 2012-11-06
  • 2015-06-03
  • 1970-01-01
相关资源
最近更新 更多