Scalaライブラリ

Scala標準ライブラリ


Mavenレポジトリ

https://mvnrepository.com/search?q=scala


scala.collection.immutable


scala.collection.mutable


Set

import scala.collection.immutable(or mutable etc...)

https://docs.scala-lang.org/overviews/collections-2.13/sets.html#inner-main

immurtable

mutable


Seq

繰り返し作業(シーケンス)を設定するトレイト。メンバーはSeqライブラリ参照のこと。

https://docs.scala-lang.org/overviews/collections/seqs.html#inner-main

import scala.collection.immutable(or mutable etc...)

immutable

mutable


Vector

immutable


Option

Option/Some/None
Some, NoneはOptionのサブクラス。

Ex)

def toInt(s: String): Option[Int] = {
    try {
        Some(Integer.parseInt(s.trim))
    } catch {
        case e: Exception => None
    }
}

出力

入力がIntの時はSomeを返す。Stringの時はtoIntできないのでNoneを返す。

scala> val a = toInt("1")
a: Option[Int] = Some(1)

scala> val a = toInt("foo")
a: Option[Int] = None

SeqとListの違い

HOW ARE THE COLLECTIONS STRUCTURED? WHICH ONE SHOULD I CHOOSE?

https://docs.scala-lang.org/tutorials/FAQ/collections.html

Immutable Collections Diagram

Mutable Collections Diagram

scala-logging

akka-actor-typed には slf4j-api が含まれています。