Pair và Triple
Thuộc phần Kiến thức nền tảng trong hành trình Kotlin của Coddy. Bài học 71 trên 93.
Đôi khi, bạn cần nhóm hai hoặc ba giá trị có liên quan với nhau mà không tạo cả một danh sách. Kotlin cung cấp Pair và Triple cho đúng mục đích này.
Pair chứa chính xác hai giá trị. Tạo một Pair bằng hàm khởi tạo Pair() hoặc từ khóa to:
val coordinates = Pair(10, 20)
val person = "Alice" to 25 // Tương đương với Pair("Alice", 25)Truy cập các giá trị bằng first và second:
val point = Pair(5, 8)
println(point.first) // 5
println(point.second) // 8Triple hoạt động tương tự nhưng chứa ba giá trị, được truy cập bằng first, second và third:
val rgb = Triple(255, 128, 0)
println(rgb.first) // 255
println(rgb.second) // 128
println(rgb.third) // 0Chúng hữu ích khi một hàm cần trả về nhiều giá trị hoặc khi bạn muốn nhóm các dữ liệu liên quan mà không cần định nghĩa một lớp tùy chỉnh. Các giá trị có thể thuộc nhiều kiểu dữ liệu khác nhau, nên chúng linh hoạt trong nhiều tình huống.
Thử thách
Trung bìnhViết một hàm getMinMax nhận vào một danh sách số nguyên và trả về một Pair chứa giá trị nhỏ nhất và lớn nhất, sau đó định dạng chúng thành một chuỗi.
Tạo một Pair trong đó first giữ giá trị nhỏ nhất và second giữ giá trị lớn nhất trong danh sách. Sau đó, trả về một chuỗi đã định dạng bằng các thuộc tính của cặp này.
Tham số:
numbers(List<Int>): Một danh sách số nguyên có ít nhất một phần tử
Giá trị trả về: Một chuỗi có định dạng "Min: X, Max: Y", trong đó X là giá trị nhỏ nhất (first) và Y là giá trị lớn nhất (second) trong Pair.
Ràng buộc đầu vào: Danh sách đầu vào không rỗng.
Tự làm thử
fun getMinMax(numbers: List<Int>): String {
// Viết code ở đây
}
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Kiến thức nền tảng
4Toán tử phần 1
Toán tử số họcToán tử moduloPhép gán kết hợpToán tử so sánhÔn tập: phép tính đơn giản7Nhập xuất cơ bản
Hàm PrintlnMẫu chuỗiĐầu vào ReadLineChuyển đổi kiểu dữ liệuÔn tập: Số năm đến khi nghỉ hưuÔn tập: Đúng hay sai10Hàm
Khai báo hàmTham số và đối sốGiá trị trả vềĐối số có tênGiá trị mặc địnhHàm chỉ gồm một biểu thứcÔn tập: hàm SigmaÔn tập: hàm kiểm tra hợp lệ3Tính có thể null
An toàn với null là gìKiểu có thể nullToán tử gọi an toànToán tử ElvisCơ bản về thử thách hàmKhẳng định không nullÔn tập: truy cập an toàn6Ra quyết định
Câu lệnh ifCâu lệnh if-elseIf dưới dạng biểu thứcBiểu thức whenWhen với khoảng giá trịÔn tập: máy tính đơn giản9Vòng lặp
Vòng lặp forVòng lặp whileVòng lặp do-whileBreakContinuePhạm vi trong vòng lặpVòng lặp lồng nhauÔn tập: giai thừaÔn tập: đầu vào động12Cơ bản về danh sách
List và MutableListTruy cập phần tửChỉnh sửa danh sáchPhương thức của ListPair và TripleÔn tập: danh sách sản phẩmÔn tập: danh sách đảo ngược15Theo dõi chi tiêu hằng ngày
Tổng quan dự ánThoát khỏi chương trìnhTự luyện tập: Playground Kotlin