Mengiris list dengan SubList
Termasuk bagian Dasar-Dasar dalam perjalanan Kotlin di Coddy. Pelajaran 79 dari 93.
Terkadang kamu perlu mengambil sebagian dari sebuah list, bukan bekerja dengan seluruh koleksi. Method subList() memungkinkan kamu membuat tampilan rentang elemen tertentu dari list yang sudah ada.
method subList() menerima dua parameter: indeks awal (inklusif) dan indeks akhir (eksklusif). Artinya, elemen pada indeks awal disertakan, tetapi elemen pada indeks akhir tidak disertakan:
val numbers = listOf(10, 20, 30, 40, 50)
val slice = numbers.subList(1, 4)
println(slice) // [20, 30, 40]Dalam contoh ini, subList(1, 4) mengambil elemen dari indeks 1 hingga (tetapi tidak termasuk) indeks 4. Hasilnya adalah elemen kedua, ketiga, dan keempat.
sublist yang dihasilkan adalah tampilan dari list asli, bukan salinan. Hal ini penting untuk dipahami saat bekerja dengan list yang dapat diubah, karena perubahan pada list asli dapat memengaruhi sublist.
Untuk sebagian besar penggunaan dengan list hanya-baca, kamu cukup menggunakannya untuk mengakses rentang elemen:
val days = listOf("Mon", "Tue", "Wed", "Thu", "Fri")
val midWeek = days.subList(1, 4)
println(midWeek) // [Tue, Wed, Thu]Tantangan
SedangKamu akan menerima list bilangan bulat dan dua indeks yang menunjukkan suatu rentang. Ambil sublist menggunakan subList() dan cetak jumlah elemen yang diambil.
Format input:
- Baris pertama: bilangan bulat
nyang menunjukkan jumlah elemen nbaris berikutnya: bilangan bulat yang akan ditambahkan ke list- Baris berikutnya: indeks awal (inklusif)
- Baris terakhir: indeks akhir (eksklusif)
Format output:
Cetak jumlah elemen dalam sublist yang diambil.
Contoh:
Jika list-nya adalah [5, 10, 15, 20, 25] dengan indeks awal 1 dan indeks akhir 4, sublist-nya adalah [10, 15, 20] dan output-nya harus 45.
Coba sendiri
fun main() {
val n = readLine()!!.toInt()
val list = mutableListOf<Int>()
repeat(n) {
list.add(readLine()!!.toInt())
}
val startIndex = readLine()!!.toInt()
val endIndex = readLine()!!.toInt()
// TODO: Tulis kodemu di bawah ini
// Gunakan subList() untuk mengambil elemen dari startIndex hingga endIndex
// Hitung dan cetak jumlah elemen yang diambil
}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 Validasi5Operator 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 FizzBuzz14list Tingkat Lanjut
Mengiris list dengan SubListMengiris list dengan Take DropOperator UrutanMethod containsRingkasan, Cari Halaman3Kemungkinan 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