Giới thiệu
Map lưu trữ dữ liệu dạng key-value, key phải duy nhất. HashMap implement interface MutableMap. Kotlin cung cấp 4 constructor, thường dùng HashMap() mặc định.
1. Duyệt bằng for loop
fun main(args: Array<String>) {
var subject: HashMap<String, Int> = HashMap()
subject.put("Java", 1)
subject.put("Kotlin", 2)
subject.put("Python", 3)
subject.put("C++", 4)
subject.put("SQL", 5)
println("---------iterate using for Loop------------\n")
for ((k, v) in subject) {
println(" Subject Name -> $k and its preference -> $v")
}
}
Kết quả
Subject Name -> Java and its preference -> 1 Subject Name -> C++ and its preference -> 4 Subject Name -> Kotlin and its preference -> 2 Subject Name -> Python and its preference -> 3 Subject Name -> SQL and its preference -> 5
2. Duyệt bằng forEach()
fun main(args: Array<String>) {
var subject: HashMap<String, Int> = HashMap()
subject.put("Java", 1)
subject.put("Kotlin", 2)
subject.put("Python", 3)
subject.put("C++", 4)
subject.put("SQL", 5)
println("------iterate using forEach Method---------\n")
subject.forEach { (k, v) ->
println(" Subject Name -> $k and its preference -> $v")
}
}
3. Duyệt bằng iterator()
Cách hiệu quả nhất, không expose cấu trúc bên trong.
fun main(args: Array<String>) {
var subject: HashMap<String, Int> = HashMap()
subject.put("Java", 1)
subject.put("Kotlin", 2)
subject.put("Python", 3)
subject.put("C++", 4)
subject.put("SQL", 5)
println("-----------Using iterator() Method-----------\n")
val i = subject.keys.iterator()
while (i.hasNext()) {
val key = i.next()
val value = subject[key]
println("Subject Name -> ${key} and its preference -> $value")
}
}
Ba cách đều cho kết quả tương tự. forEach ngắn gọn, iterator linh hoạt hơn.