KotlinのPairを使う

関数から2つの値を返したいことがあります。
データクラスを作成することもできますが、複数の値を返す関数がたくさんあると煩雑な方法となります。
PairクラスやTripleクラスは、この問題を解決します。

Pair

Pairクラスは2つの値を格納するクラスです。

(参考)「Pair – Kotlin Programming Language

Constructors

data class Pair<out A, out B> : Serializable

次のように使います。

val pair = Pair(1, "x")

Properties

格納されている値を取得するには、firstプロパティとsecondプロパティを使用します。

val pair = Pair(1, "x")
println(pair.first) //=> 1
println(pair.second) //=> x

次のように、変数に割り当てることもできます。

val pair = Pair(1, "x")
val (first, second) = pair
println(first) //=> 1
println(second) //=> x

Infix

Infix関数toを使用して簡単に宣言できます。

fun getPair() : Pair<Int, String> {
    return 1 to "x"
}

val (first, second) = getPair()
println(first) //=> 1
println(second) //=> x

toList

toListメソッドを使うと、Listに変換できます。

(参考)toList – Kotlin Programming Language

val list: List<Any> = Pair(1, "x").toList()
println(list) //=> [1, x]
println(list[0]) //=> 1
println(list[1]) //=> x

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください