1. ホーム
  2. scala

[解決済み] Scalaでリストを2つのフィールドでソートするには?

2022-10-30 21:41:38

質問

Scalaでリストを2つのフィールドでソートする方法。この例では、lastNameと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)

が、うまくいきません。だから、私は良い、簡単な解決策に興味があります。

どのように解決するのですか?

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