Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Android

Duyệt HashMap trong Kotlin

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.