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 onDiziyi 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.
Görev
KolaycreateJaggedArray 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:
- İlk satır 1 eleman içermelidir.
- İkinci satır 2 eleman içermelidir.
- Üçüncü satır 3 eleman içermelidir.
- Ve böylece
n. satıra kadar devam etmeli; bu satırneleman 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 ederBir 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
}
}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
1Çok Boyutlu Diziler
2D Diziler Temelleri2D Dizi Elemanlarına Erişim2D Dizilerle İç İçe DöngülerÖzet - 2D DizilerMatris Toplama ve ÇıkarmaJagged Diziler3D Diziler ve ÖtesiYaygın 2D Dizi DesenleriÖzet - Diziler Hakkında Her Şey2HashMap Bölüm 1
HashMap Nedir?HashMap TanımlamaDeğerlere ErişimAnahtarın Varlığını Kontrol EtmeSözlükleri DeğiştirmeÖzet - HashMap3HashMap Bölüm 2
HashMap YöntemlerikeySet() ile YinelemeentrySet() ile Yinelemeİç İçe HashMapÖzet - Depo YönetimiÖzet - HashMap İşlemleri6İleri Akış Kontrolü
Etiketli İfadelerSwitch İfadesiDesen EşleştirmeKoruyucu Yan CümlelerÖzet - Akış Kontrolü9Proje - Benzersiz Kelime Sayacı
Metin Girişi ve DepolamaKelime İşleme