2D Dizi Elemanlarına Erişim
Coddy'nin Java Journey'sinin Mantık & Akış bölümünün bir parçası. Ders 2 / 59.
2B dizisindeki öğelere erişmek, 1B dizisindeki öğelere erişmeye benzer; ancak tek bir indeks kullanmak yerine iki indeks kullanırsın: biri satır, diğeri sütun için. Java'da indekslerin 0'dan başladığını unutma; yani ilk satır 0 indeksinde, ikinci satır 1 indeksindedir ve bu şekilde devam eder. Benzer şekilde, ilk sütun 0 indeksinde, ikinci sütun 1 indeksindedir ve bu şekilde sürer.
Bir öğeye erişmek için önce satır dizinini, ardından sütun dizinini belirtirsin. Bunun için şu söz dizimini kullanırsın:
arrayName[rowIndex][columnIndex]Örneğin, matrix adlı 2 boyutlu bir dizinin ikinci satırındaki (indeks 1) ve üçüncü sütunundaki (indeks 2) elemana erişmek için şunu yazarsın:
int element = matrix[1][2];Bu, 1. satır dizinindeki, 2. sütun dizinindeki değeri (ikinci satır, üçüncü sütun) element değişkenine atar.
2B dizilerin boyutlarını alma:
1B dizilerde olduğu gibi, 2B bir dizinin boyutlarını almak için .length kullanabilirsiniz:
int[][] matrix = {
{1, 2, 3},
{4, 5, 6}
};
int numRows = matrix.length; // Satır sayısını alır: 2
int numCols = matrix[0].length; // Sütun sayısını alır: 3matrix.lengthsatır sayısını döndürürmatrix[0].lengthilk satırdaki sütun sayısını döndürür
Sınırları denetleme:
Bir elemana erişmeden önce indislerin geçerli olup olmadığını kontrol etmek iyi bir uygulamadır:
if (rowIndex >= 0 && rowIndex < matrix.length &&
colIndex >= 0 && colIndex < matrix[0].length) {
// matrix[rowIndex][colIndex] öğesine güvenle erişilebilir
}Görev
KolaygetElement adında, üç argüman alan bir metot oluştur:
matrixadında, tam sayılardan oluşan 2 boyutlu bir dizi.- Satır indeksini temsil eden bir tam sayı olan
rowIndex. - Sütun indeksini temsil eden bir tam sayı olan
colIndex.
Metot, matrix içindeki belirtilen satır ve sütunda bulunan öğeyi döndürmelidir. rowIndex veya colIndex sınırların dışındaysa (yani 0'dan küçükse ya da satır veya sütun sayısına eşit veya bu sayıdan büyükse), metot -1 döndürmelidir.
Kendin dene
// Kodunuzu yalnızca sınıfın içine yazın. main() veya bu sınıfın dışında herhangi bir kod yazmayın.
class GetElement {
public static int getElement(int[][] matrix, int rowIndex, int colIndex) {
// Kodunuzu 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 İşlemeKendi başına pratik yap: Online Java derleyicisi