Menu
Coddy logo textTech

Jagged Diziler

Coddy'nin Java Journey'sinin Mantık & Akış bölümünün bir parçası — ders 6 / 59.

Kesikli dizi, her satırın farklı sayıda sütuna sahip olabileceği özel bir 2D dizi türüdür. Başka bir deyişle, dizilerin bir dizisidir ve her "iç" dizi farklı bir uzunluğa sahip olabilir. Bu, tüm satırların aynı sayıda sütuna sahip olduğu ve dikdörtgen bir şekil oluşturan düzenli bir 2D diziden farklıdır.

Kesikli diziler, verilerin dikdörtgen bir ızgaraya düzgün bir şekilde sığmadığı durumlarda veri depolamak için kullanışlıdır. Örneğin, bir paragrafın her cümlesindeki kelimeleri depolamak için kesikli bir dizi kullanabilirsiniz; her cümlenin farklı sayıda kelimesi vardır.

Java’da bir jagged array’i şu şekilde bildirir ve başlatırsınız:

data_type[][] array_name = new data_type[number_of_rows][];

// Initialize each row with a different number of columns
array_name[0] = new data_type[number_of_columns_in_row_0];
array_name[1] = new data_type[number_of_columns_in_row_1];
// ... and so on

Diziyi ilk kez tanımladığınızda yalnızca satır sayısını belirttiğinize dikkat edin. Ardından her satırı ayrı ayrı başlatır, o satır için sütun sayısını belirterek.

challenge icon

Görev

Kolay

createJaggedArray adında bir metot oluşturun ki bu metot bir tamsayı n parametresi alsın ve tamsayı içeren değişken uzunluklu bir dizi döndürsün. Değişken uzunluklu dizi şu yapıya sahip olmalıdır:

  1. İlk satır 1 eleman içermelidir.
  2. İkinci satır 2 eleman içermelidir.
  3. Üçüncü satır 3 eleman içermelidir.
  4. Ve böylece n. satıra kadar devam etmeli; bu satır n eleman içermelidir.

Dizinin her elemanını satır ve sütun indekslerinin (1'den başlayarak) çarpımı ile başlatın. Örneğin, ikinci satır ve ilk sütundaki eleman 2 * 1 = 2 değerine sahip olmalıdır.

Kopya kağıdı

Kesik dizi, her satırın farklı sayıda sütuna sahip olabildiği bir iki boyutlu dizidir; normal iki boyutlu dizilerin aksine, tüm satırlar aynı uzunluktadır.

Bir kesik diziyi tanımlamak ve başlatmak için:

data_type[][] array_name = new data_type[number_of_rows][];

// Her satırı farklı sayıda sütunla başlatın
array_name[0] = new data_type[number_of_columns_in_row_0];
array_name[1] = new data_type[number_of_columns_in_row_1];
// ... ve böyle devam eder

Bir kesik dizi tanımlarken, başlangıçta sadece satır sayısını belirtirsiniz, ardından her satırı kendi sütun sayısıyla ayrı ayrı başlatırsınız.

Kendin dene

// Kodu yalnızca sınıf içinde yazın. Bu sınıfın dışında main() veya herhangi bir kod yazmayın.
class CreateJaggedArray {
    public static int[][] createJaggedArray(int n) {
        // Kodu buraya yazın
    }
}
quiz iconKendini test et

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

Mantık & Akış bölümündeki tüm dersler