Menu
Coddy logo textTech

SubList ile Liste Dilimleme

Coddy'nin Kotlin Journey'sinin Temel Bilgiler bölümünün bir parçası. Ders 79 / 93.

Bazen listenin tamamıyla çalışmak yerine bir bölümünü çıkarmanız gerekir. subList() yöntemi, mevcut bir listeden belirli bir öğe aralığının görünümünü oluşturmanızı sağlar.

subList() yöntemi iki parametre alır: başlangıç dizini (dahil) ve bitiş dizini (hariç). Bu, başlangıç dizinindeki öğenin dahil edildiği, ancak bitiş dizinindeki öğenin dahil edilmediği anlamına gelir:

val numbers = listOf(10, 20, 30, 40, 50)
val slice = numbers.subList(1, 4)
println(slice)  // [20, 30, 40]

Bu örnekte, subList(1, 4) 1. dizinden başlayıp 4. dizini dahil etmeyecek şekilde öğeleri çıkarır. Bu bize ikinci, üçüncü ve dördüncü öğeleri verir.

Ortaya çıkan alt liste, orijinal listenin bir görünümüdür; kopyası değildir. Değiştirilebilir listelerle çalışırken bunu anlamak önemlidir; çünkü orijinal listedeki değişiklikler alt listeyi etkileyebilir.

Salt okunur listelerle yapılan çoğu kullanım için, bir dizi öğeye erişmek üzere bunu kullanabilirsiniz:

val days = listOf("Mon", "Tue", "Wed", "Thu", "Fri")
val midWeek = days.subList(1, 4)
println(midWeek)  // [Tue, Wed, Thu]
challenge icon

Görev

Orta

Bir tamsayı listesi ve bir aralığı temsil eden iki indeks alacaksınız. subList() kullanarak bir alt liste çıkarın ve çıkarılan öğelerin toplamını yazdırın.

Girdi biçimi:

  • İlk satır: öğe sayısını temsil eden bir tamsayı n
  • Sonraki n satır: listeye eklenecek tamsayılar
  • Sonraki satır: başlangıç indeksi (dahil)
  • Son satır: bitiş indeksi (hariç)

Çıktı biçimi:

Çıkarılan alt listedeki öğelerin toplamını yazdırın.

Örnek:

Liste [5, 10, 15, 20, 25], başlangıç indeksi 1 ve bitiş indeksi 4 ise alt liste [10, 15, 20] olur ve çıktı 45 olmalıdır.

Kendin dene

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: Kodunuzu aşağıya yazın
    // startIndex'den endIndex'e kadar elemanları çıkarmak için subList() kullanın
    // Çıkarılan elemanların toplamını hesaplayın ve yazdırın
    
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temel Bilgiler bölümündeki tüm dersler

Kendi başına pratik yap: Kotlin playground