# Dizi

Adres: https://softwaredictionary.org/tr/terimler/array
Kategori: Programlamanın Temelleri
Son güncelleme: 2026-09-30
İngilizcesi: Array
Okunuşu: ırey

Kısaca: Dizi, tek bir ad altında saklanan ve her öğesine genellikle 0'dan başlayan indeks adlı sayısal konumuyla erişilen, sıralı bir değerler koleksiyonudur.

## Dizi (array) nedir?

Dizi, kullanıcı adları listesi ya da bir dizi sıcaklık ölçümü gibi birden çok değeri belirli bir sırayla tutar. Her öğe için ayrı bir değişken oluşturmak yerine hepsini tek bir dizide saklar ve her öğeye indeksiyle başvurursunuz. JavaScript, Python, Java ve C dahil çoğu dilde ilk öğe 0. indekste, ikincisi 1. indekste durur ve bu böyle sürer.

C gibi düşük seviyeli dillerde dizi, öğelerin yan yana durduğu sabit boyutlu bir bellek bloğudur. Her yuva aynı boyutta olduğu için bilgisayar basit bir aritmetikle doğrudan istenen indekse atlayabilir; bu yüzden `items[500]` okumak `items[0]` okumak kadar hızlıdır ve buna O(1), yani sabit zaman denir. Üst seviyeli diller genellikle öğe ekledikçe otomatik büyüyen dinamik diziler sunar; JavaScript dizileri, Python listeleri ve Java'nın `ArrayList` sınıfı bunlara örnektir.

Numaralı bir posta kutusu sırası dizi için iyi bir benzetmedir: her kutunun bir numarası vardır, kutular sıralıdır ve ilk altısını açmadan doğrudan 7. kutuya gidebilirsiniz. Diziler, bir veritabanı sorgusunun döndürdüğü satırları tutmaktan bir görüntünün piksellerini saklamaya dek programlamada hemen her yerde kullanılır. Genellikle döngülerle ya da `map`, `filter` ve `reduce` gibi metotlarla işlenirler.

Diziler sıklıkla bağlı listeler (linked list) ve nesneler ya da sözlüklerle karşılaştırılır. Bir dizinin başına ya da ortasına öğe eklemek veya oradan öğe silmek yavaştır, çünkü sonraki tüm öğelerin kayması gerekir; bağlı liste bunu ucuza yapabilir ama doğrudan bir indekse atlayamaz. Nesne ya da sözlük ise değerleri sayısal konumlar yerine adlandırılmış anahtarlar altında saklar.

## Önemli noktalar

- Dizi, sıralı bir değerler listesini tek bir ad altında saklar.
- Öğelere, genellikle 0'dan başlayan indeksle erişilir.
- İndeksle öğe okumak, dizi ne kadar büyük olursa olsun hızlı, yani O(1)'dir.
- Başa ya da ortaya öğe eklemek veya silmek, diğer öğelerin kayması gerektiği için daha yavaştır.
- JavaScript dizileri ve Python listeleri gibi dinamik diziler otomatik olarak yeniden boyutlanır.

## Örnek: JavaScript'te bir dizi ile çalışmak

```javascript
// Create an array of three strings
const fruits = ["apple", "banana", "cherry"];

console.log(fruits[0]);     // "apple" (indexes start at 0)
console.log(fruits.length); // 3

fruits.push("date");        // add an item to the end
fruits[1] = "blueberry";    // replace an item by its index

// Build a new array by transforming each item
const upper = fruits.map((fruit) => fruit.toUpperCase());
console.log(upper); // ["APPLE", "BLUEBERRY", "CHERRY", "DATE"]
```

## Sık sorulan sorular

**Diziler neden 0. indeksten başlar?**

C gibi dillerde indeks, belleğe yerleştirilmiş dizinin başlangıcından olan uzaklıktır (offset); dolayısıyla ilk öğe sıfır adım uzaktadır. Sonraki dillerin çoğu bu geleneği sürdürdü, ancak Lua, MATLAB ve R gibi birkaçı saymaya 1'den başlar.

**Dizi ile liste arasındaki fark nedir?**

Terimler çakışır. Klasik olarak dizi, bellekte bitişik ve sabit boyutlu bir bloktur; liste ise büyüyüp küçülebilir. Python'ın `list` ve JavaScript'in `Array` yapıları aslında hızlı indeks erişimini otomatik yeniden boyutlandırmayla birleştiren dinamik dizilerdir.

**JavaScript'te bir değerin dizi olup olmadığını nasıl kontrol ederim?**

Yalnızca diziler için `true` döndüren `Array.isArray(value)` kullanın. `typeof` operatörü burada işe yaramaz, çünkü düz nesneler gibi diziler için de `"object"` döndürür.

---

Software Dictionary: https://softwaredictionary.org/tr · https://softwaredictionary.org/tr/llms.txt
