withIndex method
Termasuk bagian Dasar-Dasar dalam perjalanan Kotlin di Coddy. Pelajaran 75 dari 93.
Saat melakukan perulangan pada list, kamu sering perlu mengetahui bukan hanya elemennya, tetapi juga posisinya. Method withIndex() memberimu keduanya sekaligus.
Panggil withIndex() pada list apa pun untuk mendapatkan pasangan indeks dan nilai:
val colors = listOf("Red", "Green", "Blue")
for ((index, color) in colors.withIndex()) {
println("$index: $color")
}
// output:
// 0: Red
// 1: Green
// 2: BluePerhatikan sintaks di dalam tanda kurung: (index, color). Ini disebut destructuring, yang membongkar indeks dan nilai menjadi variabel terpisah. Kamu bisa memberi nama variabel ini sesuai kebutuhan kodemu.
Pendekatan ini lebih rapi daripada melacak indeks secara manual dengan variabel penghitung. Pendekatan ini sangat berguna saat kamu perlu menampilkan daftar bernomor atau melakukan tindakan berbeda berdasarkan posisi:
val tasks = listOf("Wake up", "Exercise", "Eat breakfast")
for ((i, task) in tasks.withIndex()) {
println("Step ${i + 1}: $task")
}
// output:
// Step 1: Wake up
// Step 2: Exercise
// Step 3: Eat breakfastTantangan
SedangKamu akan menerima list nama siswa sebagai input. Baca jumlah siswa terlebih dahulu, lalu baca setiap nama.
Gunakan withIndex() untuk mencetak setiap siswa beserta nomor peringkatnya (dimulai dari 1, bukan 0).
Format input:
- Baris pertama: sebuah bilangan bulat
nyang menunjukkan jumlah siswa nbaris berikutnya: nama siswa (string)
Format output:
Cetak setiap siswa pada baris terpisah dengan format:
Rank 1: Alice
Rank 2: Bob
Rank 3: CharlieIngat bahwa withIndex() memberikan indeks yang dimulai dari 0, jadi kamu perlu menyesuaikannya agar nomor peringkat dimulai dari 1.
Coba sendiri
fun main() {
// Baca jumlah siswa
val n = readLine()!!.toInt()
// Baca nama-nama siswa ke dalam list
val students = mutableListOf<String>()
for (i in 1..n) {
students.add(readLine()!!)
}
// TODO: Tulis kodemu di bawah ini
// Gunakan withIndex() untuk menelusuri students dan mencetak peringkat mereka
// Ingat: withIndex() menghasilkan indeks mulai dari 0, tetapi peringkat harus mulai dari 1
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Dasar-Dasar
4Operator Bagian 1
Operator AritmetikaOperator ModuloPenugasan GabunganOperator PerbandinganRingkasan: Matematika Sederhana7Dasar input dan output
Fungsi PrintlnTemplate stringInput ReadLineKonversi Tipe DataRingkasan: Tahun hingga PensiunRingkasan: Benar atau Salah10Fungsi
Deklarasikan FungsiParameter dan ArgumenNilai KembalianArgumen BernamaNilai DefaultFungsi Ekspresi TunggalUlasan: Fungsi SigmaUlasan: Fungsi Validasi13Perulangan pada Urutan
Menelusuri ElemenwithIndex methodMenelusuri String P1Menelusuri String P2Rangkuman: Huruf Berindeks5Operator Bagian 2
Operator Logika Bagian 1Operator Logika Bagian 2Operator Logika Bagian 3Ternary dengan Ekspresi ifRangkuman: Logika Sederhana8Kalkulator Pembagi Tagihan
Pesan Selamat DatangMenerima Input11FizzBuzz dengan Sentuhan Unik
Gambaran Umum GameFungsi FizzBuzz3Kemungkinan Null
Apa Itu Keamanan NullTipe yang Dapat Bernilai NullOperator Pemanggilan AmanOperator ElvisDasar Tantangan FungsiPenegasan Bukan NullRangkuman: Akses Aman6Pengambilan Keputusan
Pernyataan IfIf - ElseIf sebagai EkspresiEkspresi WhenWhen dengan RentangUlasan - Kalkulator Sederhana9Perulangan
For loopWhile loopDo-while loopBreakContinueRentang dalam loopLoop BersarangRingkasan: FaktorialRingkasan: Input DinamisLatihan sendiri: Playground Kotlin