Android Academy · Pelajaran

Koleksi Kotlin

Bekerjalah dengan List, Set, dan Map. Gunakan operator fungsional seperti filter, map, sortedBy, forEach, find, any, dan all, lalu rangkai operasi untuk transformasi data yang ringkas.

Pelajaran 1 dari 611 langkah

Koleksi Kotlin adalah pelajaran Android Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 6. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Android Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Android Academy mencakup 6 pelajaran total.

Gambaran Umum Koleksi

Pustaka standar Kotlin menyediakan tiga jenis koleksi utama:

  • Daftar — urutan elemen yang beraturan (dapat memiliki duplikat)
  • Himpunan — elemen unik, tanpa urutan tertentu
  • Peta — pasangan kunci-nilai, kunci bersifat unik

Setiap jenis memiliki versi tidak dapat diubah (hanya dapat dibaca) dan versi dapat diubah (dapat dimodifikasi).

Daftar: listOf vs mutableListOf

Buat daftar menggunakan fungsi pabrik:

fun main() {
    // Immutable — cannot add/remove items
    val fruits = listOf("Apple", "Banana", "Cherry")
    println(fruits[0])       // Apple
    println(fruits.size)     // 3

    // Mutable — can modify
    val scores = mutableListOf(10, 20, 30)
    scores.add(40)
    scores.removeAt(0)       // remove index 0
    println(scores)          // [20, 30, 40]
}

Peta: Pasangan Kunci-Nilai

Gunakan mapOf dan mutableMapOf untuk membuat peta. Akses nilai berdasarkan kunci:

fun main() {
    val capitals = mapOf(
        "Turkey" to "Ankara",
        "Germany" to "Berlin",
        "Japan" to "Tokyo"
    )

    println(capitals["Turkey"])      // Ankara
    println(capitals["France"])      // null (not found)
    println(capitals.getOrDefault("France", "Unknown")) // Unknown

    // Iterate
    for ((country, city) in capitals) {
        println("$country -> $city")
    }
}

filter — Memilih Item

filter mengembalikan daftar baru yang hanya berisi elemen yang memenuhi suatu kondisi:

fun main() {
    val numbers = listOf(1, 2, 3, 4, 5, 6, 7, 8)

    val evens = numbers.filter { it % 2 == 0 }
    println(evens)   // [2, 4, 6, 8]

    val names = listOf("Alice", "Bob", "Anna", "Charlie")
    val aNames = names.filter { it.startsWith("A") }
    println(aNames)  // [Alice, Anna]
}

map — Mengubah Item

map mengubah setiap elemen dan mengembalikan daftar baru:

fun main() {
    val prices = listOf(10.0, 20.0, 30.0)

    // Apply 10% tax
    val withTax = prices.map { it * 1.1 }
    println(withTax)  // [11.0, 22.0, 33.0]

    val names = listOf("alice", "bob", "carol")
    val upper = names.map { it.uppercase() }
    println(upper)    // [ALICE, BOB, CAROL]
}

sortedBy & sortedByDescending

Urutkan daftar berdasarkan properti:

data class Student(val name: String, val grade: Int)

fun main() {
    val students = listOf(
        Student("Alice", 88),
        Student("Bob", 95),
        Student("Carol", 72)
    )

    val byGrade = students.sortedByDescending { it.grade }
    for (s in byGrade) println("${s.name}: ${s.grade}")
    // Bob: 95
    // Alice: 88
    // Carol: 72
}

forEach & find

Dua fungsi koleksi lain yang berguna:

  • forEach — melakukan iterasi tanpa membuat hasil
  • find — mengembalikan item pertama yang memenuhi kondisi, atau null

Merangkai Operasi

Rangkai beberapa operasi untuk transformasi data yang ringkas:

data class Product(val name: String, val price: Double, val inStock: Boolean)

fun main() {
    val products = listOf(
        Product("Laptop", 999.0, true),
        Product("Mouse", 29.0, false),
        Product("Keyboard", 79.0, true),
        Product("Monitor", 349.0, true)
    )

    // In-stock products under $500, sorted by price
    val result = products
        .filter { it.inStock && it.price < 500 }
        .sortedBy { it.price }
        .map { "${it.name}: ${it.price}" }

    result.forEach { println(it) }
}

any, all, count

Fungsi agregasi untuk mendapatkan jawaban dengan cepat:

  • any { condition } — true jika setidaknya satu item cocok
  • all { condition } — true jika setiap item cocok
  • count { condition } — jumlah item yang cocok
  • sumOf { it.price } — jumlah suatu properti numerik

Pemeriksaan Singkat

Fungsi apa yang digunakan untuk mendapatkan hanya item dalam daftar yang memenuhi suatu kondisi?

Ringkasan: Koleksi Kotlin

Sekarang Anda dapat bekerja dengan data di Kotlin secara efisien:

  • listOf / mutableListOf, mapOf / mutableMapOf
  • filter — memilih item yang cocok
  • map — mengubah item
  • sortedBy / sortedByDescending
  • Rangkai operasi untuk pipeline data yang rapi dan mudah dibaca

Berikutnya: tampilkan daftar di layar dengan RecyclerView.

Gratis untuk memulai

Belajar Kotlin dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
36
Pelajaran
152

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Koleksi Kotlin” gratis?

Ya — teks lengkap “Koleksi Kotlin” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Android Academy, upgrade ke CoddyKit PRO. Kursus Android Academy mencakup 6 pelajaran total.

Apa yang akan aku pelajari di “Koleksi Kotlin”?

Bekerjalah dengan List, Set, dan Map. Gunakan operator fungsional seperti filter, map, sortedBy, forEach, find, any, dan all, lalu rangkai operasi untuk transformasi data yang ringkas. Kamu berlatih Android Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Android Academy?

Tidak diperlukan pengalaman sebelumnya. Android Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 6.

Berapa lama pelajaran “Koleksi Kotlin” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Android Academy ini?

Ya. Setiap pelajaran Android Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Koleksi Kotlin
  2. Dasar RecyclerView
  3. Peristiwa Klik RecyclerView
  4. SharedPreferences
  5. Preferensi DataStore
  6. Adapter & DiffUtil
← Kembali ke Android Academy