Trong bất kỳ ngôn ngữ lập trình nào, chúng đều sử dụng các hàm để thực hiện một hoạt động cụ thể. Ví dụ: nếu bạn muốn thêm thông tin chi tiết về sinh viên của một trường đại học thì thay vì viết các dòng mã giống nhau nhiều lần, bạn có thể đưa chúng vào một hàm. Và sau đó, bạn có thể gọi hàm đó bao nhiêu lần tùy thích. Ngoài ra, phần tốt nhất của hàm là một hàm có thể trả về một số giá trị, tức là nếu bạn đang có một hàm để cộng hai số thì giá trị trả về của hàm đó có thể là một số kiểu số nguyên có tổng của cả hai số đã nhập.
Nhưng các function cũng có một số hạn chế (khi được sử dụng bình thường). Hãy nghĩ về một tình huống, trong đó bạn muốn tên và tuổi của một sinh viên cụ thể của một trường đại học, sau đó nếu bạn muốn sử dụng một hàm để truy suất giá trị thì bạn chỉ có thể trả về một giá trị tại một thời điểm. Nếu bạn muốn trả về nhiều hơn một giá trị cho kiểu dữ liệu khác nhau (trong ví dụ của chúng tôi, tên thuộc kiểu chuỗi, trong khi tuổi thuộc kiểu số nguyên), thì bạn phải tạo ra các đối tượng nơi bạn có thể khai báo tất cả các biến mà bạn muốn trả về từ hàm và sau đó tạo một đối tượng của lớp và thu thập giá trị trả về trong một số List.
Nhưng vấn đề ở đây là nếu bạn đang có quá nhiều việc phải làm, tức là có quá nhiều hàm để làm việc mà trả về nhiều hơn một giá trị thì bạn phải tạo một lớp riêng cho tất cả các hàm đó và cuối cùng sử dụng lớp đó. Đây sẽ là một cách tiếp cận rất phức tạp và dài dòng.
Để đối phó với những tình huống kiểu này, Kotlin đã đưa ra khái niệm Pair và Triple. Với sự trợ giúp của Pair và Triple, bạn có thể trả về nhiều hơn một giá trị (hai trong trường hợp Pair và ba trong trường hợp Triple) của các kiểu dữ liệu khác nhau.
Vì vậy, trong bài viết này, tôi sẽ hướng dẫn các bạn cách sử dụng Pair và Triple. Let's go.
1. Pair
Pair là một lớp được xác định trước trong Kotlin được sử dụng để lưu trữ và trả về hai biến cùng một lúc. Hai biến đó có thể cùng kiểu hoặc khác kiểu. Vì vậy, bất cứ khi nào bạn muốn trả về nhiều hơn một biến từ một hàm thì bạn có thể sử dụng Pair trong hàm của mình. Nhưng làm thế nào để sử dụng Pair? Hãy xem cách sử dụng Pair trong Kotlin:
Pair ("Hello", "Kotlin") // here both the variables are of type string
Pair ("Kotlin", 1) // here 1st variable is of type string and other is type of integer
Pair (2, 20) // here both the variables are of integer type
Bạn có thể sử dụng Pair như mô tả ở trên. Ngoài ra, bạn có thể xác định một số biến và sau đó chuyển biến đó trong Pair. Ví dụ sau cho thấy tương tự:
val variable1 = "Declaring String variable"
val variable2 = 1 // declaring integer value
Pair (variable1, variable2) // using declared variable in Pair class
1.1 Sử dụng thuộc tính first và second
Để truy xuất các giá trị được lưu trữ trong Pair, chúng ta có thể sử dụng thuộc tính first và second của lớp Pair:
val variable1 = "Declaring String variable"
val variable2 = 1 // declaring integer value
val variableName = Pair (variable1, variable2) // using declared variable in Pair class
println(variableName.first) // will print the value of variable1
println(variableName.second) // will print the value of variable2
Ngoài ra, bạn có thể gán các biến của Pair cho một biến khác và sử dụng các biến đó như dưới đây:
val(firstVariable, secondVariable) = Pair("Hello", 1)
println(firstVariable)
println(secondVariable)
1.2 Infix
Trong kotlin, chúng ta có thể sử dụng dễ dàng hủy cấu trúc khai báo biến bằng cách sử dụng hàm infix.
fun getWebsite() : Pair<String, String> {
return "www.mindorks.com" to "the Website is"
}
sau đó, khai báo hàm getWebsite () dưới dạng :
val (url: String, website: String) = getWebsite()
1.3 toString() function
toString ()
là một hàm được sử dụng để chuyển đổi các biến của cặp thành chuỗi và sử dụng các biến đó dưới dạng chuỗi.
val variableName = Pair (variable1, variable2) // using declared variable in Pair class
print(variableName.toString())
1.4 toList() function
Hàm toList () chuyển đổi biến Pair sang kiểu List, tức là bạn có thể sử dụng các biến Pair giống như các một List.
val variable1 = "Declaring String variable"
val variable2 = 1 // declaring integer value
val variableName = Pair (variable1, variable2) // using declared variable in Pair class
val list = variableName.toList()
println(list[0]) // this will print the value of variable1
println(list[1]) // this will print the value of variable2
2. Triple
Triple là một lớp được xác định trước khác trong Kotlin. Với sự trợ giúp của lớp Triple trong Kotlin, bạn có thể trả về 3 biến cùng loại hoặc khác kiểu từ một hàm. Ngoài ra, bạn có thể sử dụng lớp Triple để lưu trữ 3 biến cùng loại hoặc khác kiểu.
Việc sử dụng Triple cũng giống như cách sử dụng của Pair trong Kotlin. Ví dụ sau cho thấy việc sử dụng Triple trong Kotlin:
val variable1 = "Declaring String variable"
val variable2 = 1 // declaring integer value
val variable3 = "Declaring second string value"
val variableName = Triple (variable1, variable2, variable3) // using declared variable in Triple class
println(variableName.first) // will print the value of variable1
println(variableName.second) // will print the value of variable2
println(variableName.third) // will print the value of variable3
Ngoài ra, còn có các hàm như toString () và toList (), cũng có thể được sử dụng trong Triple, theo cách tương tự như được sử dụng trong Pair. Ví dụ sau cho thấy việc sử dụng toString () và toList () trong Triple:
val variable1 = "Declaring String variable"
val variable2 = 1 // declaring integer value
val variable3 = "Declaring second string value"
val variableName = Triple (variable1, variable2, variable3) // using declared variable in Triple class
println(variableName.toString())
val list = variableName.toList()
println(list[0]) // prints the first element of the list or variable1
println(list[1]) // prints the second element of the list or variable2
println(list[2]) // prints the third element of the list or variable3
Tổng kết
Trong bài viết này, chúng ta đã học cách sử dụng lớp Pair và Triple trong Kotlin. Chúng ta thấy rằng nếu chúng ta muốn trả về nhiều hơn một biến từ cùng một hàm thì chúng ta có thể sử dụng Pair (trong trường hợp hai biến) và Triple (trong trường hợp ba biến). Ngoài ra, các biến trả về của lớp Pair và Triple có cùng kiểu hoặc khác kiểu. Nếu bạn muốn trả về nhiều hơn ba biến thì bạn vẫn phải áp dụng cách tiếp cận tương tự như đã sử dụng trước đó, tức là tạo một lớp, khai báo các biến và sử dụng các biến bằng cách tạo một đối tượng của lớp đó.