Collections trong Kotlin (Bài 5)
Trong 2 bài học trước đó, chúng tôi đã giới thiệu đến các bạn câu lệnh if, when, for, while và do…while. Tất cả chúng đều rất quan trọng. Hôm nay với bài học collections trong Kotlin sẽ giới thiệu đến các bạn về List, Set, Map và Array
Một điểm đáng lưu ý là không giống như nhiều ngôn ngữ khác, Kotlin phân biệt giữa collection có thể thay đổi và collection cố định.
Collections trong Kotlin – Mảng (Array)
Array trong Kotlin có chiều dài cố định với phần tử đầu tiên bắt đầu ở vị trí 0. Array có thể chứa giá trị kiểu chuỗi, kiểu số,…
Ví dụ về khai báo array chứa chuỗi là các dòng sản phẩm của hãng Apple
val san_pham = arrayOf("iPhone", "iPad", "iMac")
println(san_pham[0])
Ví dụ về khai báo array chứa các số nguyên là các thứ trong tuần
val thu = intArrayOf(2, 3, 4, 5, 6, 7, 8)
println(thu[5])
Tương tự như trên ta có thể sử dụng floatArrayOf(), longArrayOf(), … để chứa các kiểu dữ liệu tương ứng. Và để xác định kích thước của array, chúng ta có thể sử dụng lệnh size.
Ví dụ về việc hiển thị kích thước của mảng thu
println(thu.size)
Collections trong Kotlin – List
Giống như một mảng (Array), ngoại trừ chúng có thể có một số lượng các phần tử thay đổi tương tự như ArrayList trong Java. Các phần tử không chỉ được thêm vào mà còn có thể được xóa khỏi danh sách.
Ví dụ về việc sử dụng List trong Kotlin
val san_pham = mutableListOf<String>("iPhone", "iPad", "iMac")
// Xóa phần tử cuối cùng
san_pham.removeAt(2)
// Thêm phần tử vào cuối danh sách
san_pham.add("iMatch")
// Duyệt danh sách và hiển thị
for (sp in san_pham) {
print("$sp ")
}
Collections trong Kotlin – Set
Giống như List ngoại trừ mỗi phần tử phải là duy nhất. Chúng ta không thể lấy một phần tử theo vị trí và các phần tử hiện tại không thể thay đổi.
Ví dụ sử dụng Set trong Kotlin
val nt = mutableSetOf<Int>(3, 5, 7, 0, 13)
// Thêm một số vào cuối
nt.add(2)
// Xóa số 0, lưu ý 0 là số 0 chứ không phải vị trí
nt.remove(0)
// Duyệt và hiển thị
for (n in nt) {
print ("$n ")
}
Collections trong Kotlin – Map
Map trong Kotlin cũng tương tự HashMap trong Java. Chúng lưu trữ một cặp gồm key và value. Key là duy nhất và mỗi key chỉ lưu trữ được một value.
Ví dụ tạo Map chứa danh sách các hãng công nghệ
val hang = mutableMapOf("a" to "Apple", "s" to "Samsung")
println(hang["a"])
Collections trong Kotlin – Ví dụ
Mở IntelliJ, tạo một file Kotlin và đặt tên CollectionDemo. Chương trình demo xử lý tình huống người dùng nhập vào một số nguyên từ 2 đến 8, ứng dụng sẽ hiển thị thứ tương ứng. Lấy ví dụ người dùng nhập vào số 8, ứng dụng sẽ hiển thị hôm nay là chủ nhật.
Code xử lý
Kết quả khi chạy