Kotlin Academy · บทเรียน

mutableListOf, mutableMapOf: ตัวสร้างแบบเปลี่ยนแปลงได้

สร้างคอลเลกชันที่เปลี่ยนแปลงได้และแก้ไขอย่างปลอดภัย

บทเรียน 2 จาก 413 ขั้นตอน

mutableListOf, mutableMapOf: ตัวสร้างแบบเปลี่ยนแปลงได้ เป็นบทเรียน Kotlin Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Kotlin Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Kotlin Academy มีบทเรียนทั้งหมด 4 บทเรียน

เมื่อจำเป็นต้องแก้ไขข้อมูล

คอลเลกชันที่เปลี่ยนแปลงได้อนุญาตให้เพิ่ม ลบ และปรับปรุงองค์ประกอบ ใช้คอลเลกชันเหล่านี้เมื่อคอลเลกชันมีขนาดเพิ่มขึ้นหรือเปลี่ยนแปลงไปตามเวลา

mutableListOf

mutableListOf สร้าง MutableList ที่มี ArrayList รองรับอยู่เบื้องหลัง คุณสามารถเพิ่ม ลบ และแทนที่องค์ประกอบได้
val list = mutableListOf("a", "b", "c")
list.add("d")
list.add(0, "z")  // insert at index 0
list.remove("b")
println(list)  // [z, a, c, d]

mutableSetOf

mutableSetOf สร้าง MutableSet โดย add จะส่งคืน false หากมีองค์ประกอบนั้นอยู่แล้ว
val set = mutableSetOf(1, 2, 3)
set.add(4)
set.add(2)  // already exists, no change
set.remove(1)
println(set)  // [2, 3, 4]

mutableMapOf

mutableMapOf สร้าง MutableMap ใช้การใส่ค่าหรือเครื่องหมาย [] เพื่อแทรกและปรับปรุงข้อมูล
val map = mutableMapOf("a" to 1, "b" to 2)
map["c"] = 3
map["a"] = 10      // update
map.remove("b")
println(map)  // {a=10, c=3}

addAll, removeAll, retainAll

การดำเนินการกับองค์ประกอบจำนวนมากสำหรับคอลเลกชันที่เปลี่ยนแปลงได้
val nums = mutableListOf(1, 2, 3)
nums.addAll(listOf(4, 5, 6))
println(nums)  // [1, 2, 3, 4, 5, 6]
nums.removeAll { it % 2 == 0 }
println(nums)  // [1, 3, 5]

clear และ replaceAll

clear ลบองค์ประกอบทั้งหมด ส่วน replaceAll แปลงองค์ประกอบแต่ละรายการ ณ ตำแหน่งเดิม
val list = mutableListOf(1, 2, 3, 4)
list.replaceAll { it * 2 }
println(list)  // [2, 4, 6, 8]
list.clear()
println(list)  // []

การสร้างรายการด้วย buildList

buildList สร้างรายการแบบอ่านได้อย่างเดียวผ่านตัวสร้างที่เปลี่ยนแปลงได้ จึงกระชับและอ่านง่าย
val squares = buildList {
    for (i in 1..5) add(i * i)
}
println(squares)  // [1, 4, 9, 16, 25]

buildMap และ buildSet

ในทำนองเดียวกัน buildMap และ buildSet ช่วยให้คุณสร้างแมปและเซตโดยใช้การดำเนินการที่เปลี่ยนแปลงได้ แล้วส่งคืนผลลัพธ์แบบอ่านได้อย่างเดียว
val map = buildMap {
    put("en", "English")
    put("de", "German")
    put("tr", "Turkish")
}
println(map["tr"])  // Turkish

ArrayList, LinkedList: ชนิดที่ระบุอย่างชัดเจน

หากต้องการคุณลักษณะด้านประสิทธิภาพที่เฉพาะเจาะจง ให้ใช้ ArrayList หรือ ArrayDeque โดยตรง
val arrayList = ArrayList<String>()
arrayList.add("x")
val deque = ArrayDeque<Int>()
deque.addFirst(1)
deque.addLast(2)

getOrPut สำหรับการสะสมข้อมูลในแมป

getOrPut จะส่งคืนค่าที่มีอยู่ หรือแทรกค่าเริ่มต้นแล้วส่งคืนค่านั้น เหมาะอย่างยิ่งสำหรับการจัดกลุ่ม
val groups = mutableMapOf<String, MutableList<Int>>()
for (i in 1..6) {
    val key = if (i % 2 == 0) "even" else "odd"
    groups.getOrPut(key) { mutableListOf() }.add(i)
}
println(groups)

การเรียงลำดับรายการที่เปลี่ยนแปลงได้

sort และ sortWith เรียงลำดับรายการที่เปลี่ยนแปลงได้ ณ ตำแหน่งเดิม
val nums = mutableListOf(3, 1, 4, 1, 5, 9)
nums.sort()
println(nums)  // [1, 1, 3, 4, 5, 9]
nums.sortDescending()
println(nums)  // [9, 5, 4, 3, 1, 1]

ตรวจสอบอย่างรวดเร็ว

ฟังก์ชันใดสร้าง List แบบอ่านได้อย่างเดียวโดยใช้ตัวสร้างที่เปลี่ยนแปลงได้ภายในแลมบ์ดา

ทบทวน

ใช้ mutableListOf/SetOf/MapOf สำหรับคอลเลกชันที่เปลี่ยนแปลงได้ ใช้ add, remove, การใส่ค่า, clear และ replaceAll เพื่อแก้ไขข้อมูล ใช้ buildList/Map/Set เพื่อสร้างผลลัพธ์แบบไม่เปลี่ยนแปลงอย่างกระชับจากการสร้างแบบเปลี่ยนแปลงได้ ต่อไป: การเข้าถึงองค์ประกอบอย่างปลอดภัย
เริ่มต้นได้ฟรี

เรียนรู้ Kotlin ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
51
บทเรียน
203

คำถามที่พบบ่อย

บทเรียน “mutableListOf, mutableMapOf: ตัวสร้างแบบเปลี่ยนแปลงได้” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “mutableListOf, mutableMapOf: ตัวสร้างแบบเปลี่ยนแปลงได้” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Kotlin Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Kotlin Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “mutableListOf, mutableMapOf: ตัวสร้างแบบเปลี่ยนแปลงได้”

สร้างคอลเลกชันที่เปลี่ยนแปลงได้และแก้ไขอย่างปลอดภัย คุณปฏิบัติ Kotlin Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Kotlin Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Kotlin Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “mutableListOf, mutableMapOf: ตัวสร้างแบบเปลี่ยนแปลงได้” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Kotlin Academy นี้ได้ไหม

ได้ บทเรียน Kotlin Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. listOf, setOf, mapOf: คอลเลกชันอ่านอย่างเดียว
  2. mutableListOf, mutableMapOf: ตัวสร้างแบบเปลี่ยนแปลงได้
  3. การเข้าถึงสมาชิก: get, first, last, getOrNull
  4. วนซ้ำและแปลงคอลเลกชันด้วยไลบรารีมาตรฐาน
← กลับไปที่ Kotlin Academy