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