[Kotlin] 複数の変数をまとめるクラス PairとTriple について

2018年1月16日(更新: 2018年4月26日)

Kotlin にも Swift におけるタプルTuple)のように、異なる型の値を複数まとめて扱える構文である PairTriple が存在します。

以下では Pair および Triple の基本的な使用方法を紹介します。

Pairの構文

2つの整数型(Int)をまとめた Pair は以下のように定義します。

var (x, y) = Pair<Int, Int>(100, 200)

型の部分は省略することもできます。

var (x, y) = Pair(100, 200)

このように定義すると、変数 x および y は独立した変数として扱えます。

異なる型の値をまとめることも可能です。

var (x, str) = Pair(1, "string")

Pairに名前をつける

Pairに名前を付けて、以下のように値を取り出すことができます。

var pair = Pair(100, 200)

// pair.first = 100
// pair.second = 200

もちろん Pair 同士の受け渡しが可能です。

val pair = Pair(100, 200)
var (x, y) = pair

Pairを扱うメソッド

Pair を引数や戻り値として使うメソッドの例です。

val pair = Pair(100, 200)

fun foo(pair: Pair<Int, Int>): Pair<Int, Int> {
            
    return Pair(pair.first * 2, pair.second * 2)
}

val newPair = foo(pair)

// newPair.first = 200
// newPair.second = 400

Tripleの構文

3つの値を組みとする場合は Triple を使用します。基本的な文法は Pair と同じです。

val triple = Triple(100, 20.5, "string")

// triple.first = 100
// triple.second = 20.5
// triple.third = "string"

おしまい

以上が異なる型の値を複数まとめて扱える Pair や Triple の使用方法です。これらの詳細については以下の公式ドキュメントをご覧ください。

Pair – Kotlin Programming Language

Triple – Kotlin Programming Language

簡単な連想配列などのデータとして利用できるかも知れません。

コメントを残す

メールアドレスが公開されることはありません。