跳到主內容

【Kotlin】Pair

Pair

在 Kotlin 中,Pair 是一個用於表示一對相關數據的數據結構。Pair 是一個簡單的二元組,包含兩個值,這兩個值可以是不同類型的。Pair 類的主要目的是為了方便存儲和傳遞成對的數據。

創建 Pair

你可以使用 Pair 類的構造函數來創建一個 Pair 對象。構造函數接受兩個參數,分別對應 first 和 second 值。

val pair = Pair("Hello", 42)
println(pair.first)   // 輸出: Hello
println(pair.second)  // 輸出: 42

Kotlin 也提供了一個方便的中綴函數 to,它可以用來創建一個 Pair 對象。這使得創建 Pair 更加簡潔。

val pair = "Hello" to 42
println(pair.first)   // 輸出: Hello
println(pair.second)  // 輸出: 42

使用 Pair

Pair 可以用於各種場景,比如返回多個值的函數,或者需要將兩個相關數據存儲在一起的情況。

// 函數返回一個 Pair
fun getPersonInfo(): Pair<String, Int> {
    return "Alice" to 30
}

val personInfo = getPersonInfo()
println("Name: ${personInfo.first}, Age: ${personInfo.second}")
// 輸出: Name: Alice, Age: 30

Pair 在 Map 中的應用

Pair 在處理 Map 時非常有用。例如,你可以使用 Pair 來初始化一個 Map,或者在操作 Map 時使用 Pair

val map = mapOf("one" to 1, "two" to 2, "three" to 3)
println(map)  // 輸出: {one=1, two=2, three=3}

// 使用 Pair 更新 Map
val updatedMap = map + ("four" to 4)
println(updatedMap)  // 輸出: {one=1, two=2, three=3, four=4}

解構 Pair

Kotlin 提供了解構聲明,這使得從 Pair 中提取數據變得更加簡單。

val (name, age) = getPersonInfo()
println("Name: $name, Age: $age")
// 輸出: Name: Alice, Age: 30

Pair 類的其他方法

Pair 類還提供了一些其他有用的方法,比如 toString()equals() 和 hashCode(),這些方法可以讓你更方便地使用 Pair

val pair1 = "Hello" to 42
val pair2 = Pair("Hello", 42)

println(pair1.toString())   // 輸出: (Hello, 42)
println(pair1 == pair2)     // 輸出: true
println(pair1.hashCode())   // 輸出: 依據具體實現的哈希值

總的來說,Pair 是一個簡單但功能強大的數據結構,適合用於存儲和操作成對的數據。在 Kotlin 中,Pair 的使用非常直觀且方便。