Java Array (Dizi) Nedir? Tanımlama ve Örnekler (2026)
Java Array (Dizi), aynı veri tipindeki birden fazla değeri bellekte ardışık (peş peşe) tutan ve tek bir değişken ismiyle yönetmemizi sağlayan sabit boyutlu bir veri yapısıdır. Diziler new kelimesiyle boyutları (kapasiteleri) belirtilerek oluşturulur (Örn: int[] sayilar = new int[5];). Dizilerdeki elemanlara 0'dan başlayan indeks numaraları ile erişilir ve döngülerle kolayca yönetilebilirler.
Yazılım geliştirirken aynı türden onlarca, belki de binlerce veriyi ayrı ayrı değişkenlerde (sayi1, sayi2, sayi3...) tutmak imkansızdır. Bu noktada Java Array yapısı imdadımıza yetişir. Bu yazıda Java’da dizi tanımlama, bellekte yer ayırma, çok boyutlu matrisler ve Array ile ArrayList arasındaki farkları detaylı şekilde inceleyeceğiz.
İlgili Java İçerikleri (Cluster)
1. Java Array (Dizi) Nedir?
Java’da array (dizi), aynı veri tipine (Sadece int veya sadece String gibi) sahip birden fazla elemanı tek bir değişken çatısı altında kutulayan veri yapısıdır.
Diziler hem ilkel tipleri (primitive: int, double, boolean) hem de nesne referanslarını (object references: String, Thread, Customer) kendi içlerinde saklayabilirler.
2. İlkel (Primitive) Array Tanımlama
Java'da bir dizi tanımlamak için veri tipinin hemen sağına köşeli parantez [] yerleştirilir.
// Önerilen ve en yaygın kullanım:
int[] sayac;
Aşağıdaki kullanım C/C++ dillerinden miras kalmıştır ve Java'da teknik olarak geçerli olsa da önerilmez:
// Geçerli ama tercih edilmeyen kullanım:
int sayac[];
3. Referans (Object) Array Tanımlama
İlkel tiplerde olduğu gibi, kendi yazdığınız sınıfların (Object) veya Java kütüphanelerinin de dizisi tanımlanabilir.
// Doğru kullanım:
Thread[] threads;
String[] kelimeler;
// Daha az önerilen kullanım:
Thread threads[];
4. Java Array Oluşturma (Değer Atama)
Diziyi sadece tanımlamak bellekte yer ayırmaz. Dizinin içine kaç eleman koyacağınızı new anahtar kelimesi ile baştan belirtmek zorundasınız.
// 3 eleman tutma kapasitesine sahip bir integer dizisi oluşturuluyor
int[] x = new int[3];
Oluşturulan bu diziye değer atamak için İndeks (Index) numaraları kullanılır. Bilgisayar dilinde sayma her zaman 0'dan başlar.
x[0] = 55; // İlk eleman
x[1] = 44; // İkinci eleman
x[2] = 33; // Üçüncü ve SON eleman
5. Çok Boyutlu Diziler (Multidimensional Arrays)
Java’da bir dizinin içine başka diziler koyabilirsiniz. Buna çok boyutlu diziler (matrisler) denir. Satır ve sütunlardan oluşan tablo veya satranç tahtası gibi yapılar kurmak için idealdir.
String[][] yoneticiDetay = new String[3][4]; // 2 Boyutlu (3 Satır, 4 Sütun)
String[][][] ucluBoyutlu = new String[2][2][2]; // 3 Boyutlu (Küp)
6. Array ve Collections (ArrayList) Farkı
Klasik Java dizilerinin (Arrays) en büyük handikabı sabit boyutlu (fixed-size) olmalarıdır. Yani diziyi başta 5 elemanlı oluşturduysanız, sonradan 6. elemanı ekleyemezsiniz; programınız hata verir (ArrayIndexOutOfBoundsException).
Eğer program çalışırken sürekli eleman eklenecek veya silinecek dinamik bir yapıya ihtiyacınız varsa, Java Collections API altındaki yapıları kullanmalısınız:
- ArrayList: Arka planda dizi kullanır ama kapasitesini kendi kendine otomatik büyütür.
- HashMap: Verileri indeks numarasıyla değil, Anahtar-Değer (Key-Value) mantığıyla tutar.
- TreeSet: Verileri otomatik sıralar ve aynı veriden iki tane eklenmesine izin vermez.
7. Sık Sorulan Sorular (SSS)
Java array nedir?
Aynı veri tipindeki (sadece sayılar veya sadece metinler) birden fazla elemanı bellekte yan yana tutan ve tek bir isimle çağırılabilen sabit boyutlu veri yapısıdır.
Java array index (sıra numarası) kaçtan başlar?
Tüm Java dizilerinde indeks numaraları sıfırdan (0) başlar. 5 elemanlı bir dizinin son elemanının indeksi 4'tür.
Array mi ArrayList mi kullanılmalı?
Eğer haftanın günleri veya aylar gibi eleman sayısı hiç değişmeyecek sabit bir veri kümeniz varsa bellekte çok daha hızlı çalışan klasik Array kullanın. Eğer kullanıcı listesi gibi sürekli eleman eklenip çıkarılacak esnek bir yapı lazımsa ArrayList tercih edilmelidir.
Sonuç
Java Array (Dizi) yapıları, yazılım dünyasındaki algoritma ve veri yapılarının (Data Structures) temel taşıdır. İster basit bir not ortalaması hesaplayın, ister karmaşık çok boyutlu matrisler kurun; dizilerin nasıl tanımlandığını ve kapasite mantığını anlamak bir Java geliştiricisi için zorunludur. Dinamik veri yönetimi içinse her zaman Collections Framework (ArrayList) yapılarına başvurmalısınız.