ScalaのSeqのソートについて説明していきます。
Seqのソートサンプル
def main(args: Array[String]) : Unit = { // sorted - 昇順にソートする val seq = Seq("c", "d", "a", "b") println(seq.sorted) // List(a, b, c, d) // reverse - 逆順に並び替える(降順ではないので注意) println(seq.reverse) // List(b, a, d, c) }
sortByを使用すればクラスを並び替えることもできます。
sortByサンプル
def main(args: Array[String]) : Unit = { val seq = Seq( new SampleClass(2, "B") , new SampleClass(3, "C") , new SampleClass(1, "A") ) seq.sortBy(_.no).foreach(s => println(s.no, s.name)) // => (1,A), (2,B), (3,C) seq.sortBy(_.name).foreach(s => println(s.no, s.name)) // => (1,A), (2,B), (3,C) } class SampleClass(val no : Int, val name: String)