Kotlin Academy · บทเรียน

วนซ้ำและแปลงคอลเลกชันด้วยไลบรารีมาตรฐาน

ใช้ map, filter, any, all, count กับตัวอย่างคอลเลกชันจริง

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

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

คอลเลกชันในรูปแบบกระบวนการต่อเนื่อง

ไลบรารีมาตรฐานของ Kotlin แปลงคอลเลกชันผ่านการดำเนินการที่เรียงต่อกัน แต่ละฟังก์ชันส่งคืนคอลเลกชันใหม่ โดยไม่แตะต้องคอลเลกชันเดิม

การแปลงแบบหนึ่งต่อหนึ่ง

ฟังก์ชันแปลงข้อมูลจะทำงานกับองค์ประกอบแต่ละรายการ แล้วส่งคืนรายการผลลัพธ์
val prices = listOf(10, 20, 30)
val withTax = prices.map { it * 1.1 }
println(withTax)  // [11.0, 22.0, 33.0]

การแปลงแบบหนึ่งต่อหลาย

ฟังก์ชันแปลงข้อมูลจะเปลี่ยนองค์ประกอบแต่ละรายการให้เป็นรายการ จากนั้นคลี่รายการทั้งหมดรวมเป็นรายการเดียว
val sentences = listOf("hello world", "foo bar")
val words = sentences.flatMap { it.split(" ") }
println(words)  // [hello, world, foo, bar]

การกรองและการกรองส่วนที่ไม่ตรงเงื่อนไข

filter เก็บองค์ประกอบที่ตรงตามเงื่อนไข ส่วน filterNot เก็บองค์ประกอบที่ไม่ตรงตามเงื่อนไข
val nums = (1..10).toList()
val evens = nums.filter { it % 2 == 0 }
val odds = nums.filterNot { it % 2 == 0 }
println(evens)  // [2, 4, 6, 8, 10]

groupBy: จัดกลุ่มตามคีย์

groupBy ส่งคืน Map> ซึ่งองค์ประกอบถูกจัดกลุ่มตามฟังก์ชันคีย์
val words = listOf("one", "two", "three", "four", "five")
val byLength = words.groupBy { it.length }
println(byLength)
// {3=[one, two], 5=[three], 4=[four, five]}

การสร้างคู่ข้อมูลและ associateBy

associate สร้าง Map ด้วยแลมบ์ดาคู่คีย์-ค่า ส่วน associateBy ใช้ตัวดึงคีย์
val items = listOf("apple", "banana", "cherry")
val byFirst = items.associateBy { it.first() }
println(byFirst)  // {a=apple, b=banana, c=cherry}

partition: แบ่งเป็นสองส่วน

partition แบ่งคอลเลกชันออกเป็นสองรายการ ได้แก่ องค์ประกอบที่ตรงเงื่อนไขและไม่ตรงเงื่อนไข
val (evens, odds) = (1..8).partition { it % 2 == 0 }
println(evens)  // [2, 4, 6, 8]
println(odds)   // [1, 3, 5, 7]

distinct และ distinctBy

distinct ลบองค์ประกอบที่ซ้ำกัน ส่วน distinctBy ลบองค์ประกอบซ้ำโดยพิจารณาจากคีย์
val nums = listOf(1, 2, 2, 3, 1, 4)
println(nums.distinct())  // [1, 2, 3, 4]
val words = listOf("Hi", "hello", "HI")
println(words.distinctBy { it.lowercase() })

take, drop และ chunked

take เลือก N องค์ประกอบแรก ส่วน drop ข้าม N องค์ประกอบแรก และ chunked แบ่งข้อมูลเป็นรายการย่อยขนาด N
val list = (1..10).toList()
println(list.take(3))    // [1, 2, 3]
println(list.drop(7))    // [8, 9, 10]
println(list.chunked(3)) // [[1,2,3],[4,5,6],[7,8,9],[10]]

zip: จับคู่คอลเลกชันสองชุด

zip รวมรายการสองรายการเป็นรายการคู่ข้อมูล และหยุดเมื่อถึงรายการที่สั้นกว่า
val names = listOf("Alice", "Bob", "Charlie")
val scores = listOf(90, 85, 92)
val combined = names.zip(scores)
println(combined)  // [(Alice, 90), (Bob, 85), (Charlie, 92)]

sumOf, minOf, maxOf, averageOf

ทางลัดสำหรับการรวมค่าด้วยฟังก์ชันการแปลง
val items = listOf("apple", "banana", "cherry")
println(items.sumOf { it.length })    // 18
println(items.maxOf { it.length })    // 6
println(items.minOf { it.length })    // 5

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

ฟังก์ชันใดจัดกลุ่มคอลเลกชันเป็น Map> โดยใช้ตัวเลือกคีย์

ทบทวน

map, flatMap, filter, groupBy, associate, partition, distinct และ zip คือชุดเครื่องมือหลักสำหรับการแปลงคอลเลกชัน คุณสามารถเรียงต่อกันเป็นกระบวนการต่อเนื่องที่สื่อความหมายได้ ต่อไป: คลาสและตัวสร้าง
เริ่มต้นได้ฟรี

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

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

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

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

บทเรียน “วนซ้ำและแปลงคอลเลกชันด้วยไลบรารีมาตรฐาน” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “วนซ้ำและแปลงคอลเลกชันด้วยไลบรารีมาตรฐาน”

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

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

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

บทเรียน “วนซ้ำและแปลงคอลเลกชันด้วยไลบรารีมาตรฐาน” ใช้เวลานานแค่ไหน

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

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

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

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

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