Diziler ve Dizi Listeleri
Diziler, bir öğe koleksiyonunu depolamak için en yaygın kullanılan veri yapısıdır. Çoğu programlama dili, dizileri kolayca bildirmek ve dizilerdeki öğelere erişmek için yöntemler sağlar. Bir dizi listesi, boyutu büyüyebilen dinamik bir dizi olarak görülebilir. Bu nedenle, programcının onu tanımlarken dizi listesinin boyutunu bilmesine gerek yoktur.
Diziler nedir?
Şekil 1'de gösterilen, tipik olarak bir diziye değer bildirmek ve atamak için kullanılan bir kod parçasıdır. Şekil 2, bir dizinin bellekte nasıl görüneceğini gösterir.
int değerleri[5]; values[0]=100; değerler[1]=101; değerler[2]=102; değerler[3]=103; değerler[4]=104; |
Şekil 1: Bir diziye değer bildirme ve atama kodu
100 | 101 | 102 | 103 | 104 |
Dizin: 0 | 1 | 2 | 3 | 4 |
Şekil 2: Bellekte depolanan dizi
Yukarıdaki kod, 5 tamsayı depolayabilen bir diziyi tanımlar ve bunlara 0 ile 4 arasındaki indeksler kullanılarak erişilir. Bir dizinin önemli bir özelliği, tüm dizinin tek bir bellek bloğu olarak tahsis edilmesi ve her öğenin kendi değerini almasıdır. dizideki kendi alanı. Bir dizi tanımlandıktan sonra boyutu sabitlenir. Bu nedenle, derleme zamanında dizinin boyutundan emin değilseniz, güvenli tarafta olmak için yeterince büyük bir dizi tanımlamanız gerekir. Ancak çoğu zaman aslında ayırdığımızdan daha az sayıda eleman kullanacağız. Yani hatırı sayılır miktarda bellek aslında boşa harcanıyor. Öte yandan, "yeterince büyük dizi" aslında yeterince büyük değilse, program çökecektir.
Arraylists nedir?
Arraylist, boyutu büyüyebilen dinamik bir dizi olarak görülebilir. Bu nedenle dizi listeleri, bildirim sırasında gerekli olan öğelerin boyutunu bilmediğiniz durumlarda kullanılmak için idealdir. Java'da, dizi listeleri yalnızca nesneleri tutabilir, ilkel türleri doğrudan tutamazlar (ilkel türleri bir nesnenin içine koyabilir veya ilkel türlerin sarmalayıcı sınıflarını kullanabilirsiniz). Genellikle dizi listelerine ekleme, silme ve arama yapma yöntemleri sağlanır. Bir öğeye erişmenin zaman karmaşıklığı o(1) iken, ekleme ve silmenin zaman karmaşıklığı o(n)'dir. Java'da dizi listeleri, foreach döngüleri, yineleyiciler veya yalnızca dizinler kullanılarak geçilebilir.
Diziler ve Dizi Listeleri arasındaki fark nedir
Diziler ve dizi listeleri, her ikisinin de öğe koleksiyonlarını depolamak için kullanılması bakımından benzer olsa da, tanımlanma biçimleri farklıdır. Bir dizi tanımlanırken dizinin boyutu verilmelidir, ancak gerçek boyutu bilmeden bir dizi listesi tanımlayabilirsiniz. Bir dizi listesine, tanımlandıktan sonra eleman ekleyebilirsiniz ve bu, dizilerde mümkün değildir. Ancak Java'da, dizi listeleri ilkel türleri tutamaz, ancak ilkel türleri tutmak için diziler kullanılabilir. Ancak boyutunu değiştirebilen bir veri yapısına ihtiyacınız varsa, dizi listesi en iyi seçim olacaktır.