Kotlin:
การใช้แอเรย์สมาชิก

วิธีการ:

การสร้างและใช้แมพในโคตลินนั้นง่ายดาย นี่คือคู่มือสั้น ๆ ว่าจะทำอย่างไร:

fun main() {
    // การสร้างแมพที่เปลี่ยนแปลงได้
    val fruits = mutableMapOf("a" to "Apple", "b" to "Banana")

    // เพิ่มองค์ประกอบ
    fruits["o"] = "Orange" // การใช้ดัชนี
    fruits.put("g", "Grape") // การใช้วิธี put

    // การเข้าถึงองค์ประกอบ
    println(fruits["a"])  // ผลลัพธ์: Apple
    println(fruits["b"])  // ผลลัพธ์: Banana

    // การลบองค์ประกอบ
    fruits.remove("b")
    
    // การวนซ้ำผ่านแมพ
    for ((key, value) in fruits) {
        println("$key -> $value")
    }
    // ตัวอย่างผลลัพธ์:
    // a -> Apple
    // o -> Orange
    // g -> Grape
}

ลงลึก

แมพของโคตลินมาโดยตรงจากการทำงานร่วมกับจาวา ซึ่งในจาวาแมพเป็นส่วนสำคัญของคอลเล็กชัน อย่างไรก็ตาม โคตลินได้เพิ่มประสิทธิภาพการใช้งานโดยการให้ทั้งอินเทอร์เฟสที่เปลี่ยนแปลงได้ (MutableMap) และอินเทอร์เฟสที่อ่านอย่างเดียว (Map) ต่างจากอินเทอร์เฟส Map แบบเดียวของจาวา การแบ่งแยกนี้ช่วยให้ชัดเจนว่าคอลเล็กชันนั้นตั้งใจไว้สำหรับการเปลี่ยนแปลงหรือไม่

รายละเอียดที่สำคัญเกี่ยวกับการทำงานของแมพของโคตลินคือการแบ่งแยกที่ชัดเจนระหว่างแมพที่เปลี่ยนแปลงได้และแมพที่เปลี่ยนแปลงไม่ได้ ซึ่งเน้นถึงจุดโฟกัสของภาษาต่อความไม่เปลี่ยนแปลงและความปลอดภัยในเรื่องของเส้นใยงาน

แม้แมพจะมีประโยชน์สูง โคตลินยังเสนอคอลเล็กชันอื่น ๆ เช่น ลิสต์และเซต แต่ละอันมีกรณีการใช้งานของตัวเอง ตัวอย่างเช่น ลิสต์รักษาการเรียงลำดับและอนุญาตให้มีได้ซ้ำ ทำให้เหมาะสำหรับการเข้าถึงองค์ประกอบโดยดัชนี ในขณะที่เซตรับประกันความไม่ซ้ำแต่ไม่รักษาการเรียงลำดับ การเลือกใช้แมพ ลิสต์ หรือเซตขึ้นอยู่กับความต้องการเฉพาะของแอปพลิเคชันของคุณ เช่น ความต้องการสำหรับการเข้าถึงตามคีย์หรือการรักษาลำดับ

ในแง่ของทางเลือกที่ดีกว่า หากประสิทธิภาพสำคัญ โดยเฉพาะกับคอลเล็กชันขนาดใหญ่ พิจารณาใช้โครงสร้างข้อมูลที่มีประสิทธิภาพสูงกว่า ซึ่งมีให้โดยไลบรารี่ภายนอกที่ได้รับการปรับให้เหมาะสมสำหรับกรณีการใช้งานเฉพาะ เช่น การเข้าถึงพร้อมกันหรือการเรียงลำดับ