如何通过两个字段在Scala中对列表进行排序? [英] How to sort a list in Scala by two fields?

查看:361
本文介绍了如何通过两个字段在Scala中对列表进行排序?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在Scala中按两个字段对列表进行排序,在这个例子中,我将按姓氏和名字进行排序?

how to sort a list in Scala by two fields, in this example I will sort by lastName and firstName?

case class Row(var firstName: String, var lastName: String, var city: String)

var rows = List(new Row("Oscar", "Wilde", "London"),
                new Row("Otto",  "Swift", "Berlin"),
                new Row("Carl",  "Swift", "Paris"),
                new Row("Hans",  "Swift", "Dublin"),
                new Row("Hugo",  "Swift", "Sligo"))

rows.sortBy(_.lastName)

我尝试类似这种方式

I try things like this

rows.sortBy(_.lastName + _.firstName)

但它不起作用。所以我对一个简单易行的解决方案感到好奇。

but it doesn't work. So I be curious for a good and easy solution.

推荐答案

rows.sortBy(r => (r.lastName, r.firstName))

这篇关于如何通过两个字段在Scala中对列表进行排序?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆