迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

在 Scala 中对列表进行排序

作者:迹忆客 最近更新:2023/03/24 浏览次数:

本篇文章将讨论在 Scala 中对列表元素进行排序的过程。

列表是用于以线性顺序存储元素的容器。Scala 中有一个类 List 来实现列表。

它提供了几个内置函数来支持其操作,例如插入或删除元素。在这里,我们将学习在 Scala 中对列表的元素进行排序。


在 Scala 中使用 Sorted 属性对列表进行排序

在本例中,我们使用 sorted 属性对列表元素进行排序。首先,我们创建了一个包含一些元素的列表并应用了该属性。

我们还使用 for 循环遍历元素以查看已排序的元素。

object MyClass {
    def main(args: Array[String]) {
        var list1   =  List("j", "b", "c")
        val sorted = list1.sorted
        for (name <- sorted) println(name)
    }
}

输出:

b
c
j

在 Scala 中使用 sortWith() 函数对列表进行排序

我们使用 sortWith() 函数将 lambda 表达式作为参数并返回排序后的结果。我们可以使用这个函数对列表进行升序和降序排序。

请参见下面的示例。

object MyClass {
    def main(args: Array[String]) {
        var list1   =  List("j", "b", "c")
        val sorted = list1.sortWith((a: String, b: String)
   => a.charAt(0).toLower < b.charAt(0).toLower)
   println("--------ascending order-----------")
        for (name <- sorted) println(name)

        val sorted2 = list1.sortWith((a: String, b: String)
   => a.charAt(0).toLower > b.charAt(0).toLower)
   println("--------descending order----------")
        for (name <- sorted2) println(name)
    }
}

输出:

--------ascending order-----------
b
c
j
--------descending order----------
j
c
b

我们还可以使用 _(下划线)来替换冗余变量,并使代码简洁易读。请参见下面的示例。

object MyClass {
    def main(args: Array[String]) {
        var list1   =  List("mac", "apple", "dell")
        val sorted = list1.sortWith(_.length < _.length)
   println("--------ascending order-----------")
        for (name <- sorted) println(name)
    }
}

输出:

--------ascending order-----------
mac
dell
apple

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便