BBH
-Biz Branding Hub-
投稿日 : 
2020/10/19
更新日 : 
2020/10/19

【Scala】seqのソートについて

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)

Profile

管理人プロフィール

都内でITエンジニアをやってます。
変遷:中規模SES→独立系SIer→Webサービス内製開発
使用技術はその時々でバラバラですが、C#、AWSが長いです。
どちらかと言うとバックエンドより開発が多かったです。
顧客との折衝や要件定義、マネジメント(10名弱程度)の経験あり。
最近はJava+SpringBootがメイン。

Recommend