如何按两个字段对Scala中的列表进行排序? [英] How to sort a list in Scala by two fields?
本文介绍了如何按两个字段对Scala中的列表进行排序?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何在 Scala 中按两个字段对列表进行排序,在此示例中我将按 lastName 和 firstName 排序?
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)
我尝试这样的事情
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屋!
查看全文