20 Ocak 2018 Cumartesi

Diziler ve ArrayList arasındaki 8 fark

1. Dinamik boyut
Diziler sabit boyutludur, her ne kadar çalışma zamanında yeniden boyut verilebilsede boyutnu tahmin edemeyeceğiniz veri yapılarında kullanılamazlar. ArrayList ise içine eleman eklendikçe boyutunu günceller.

2. Performans
ArrayList barındırdığı veriler için her seferinde boyutunu günceller özellikle milyonlarca veri içeren setlerde dizilere göre daha yavaş çalışırlar.



3. Değişkenler
ArrayList sadece nesne(object) türünde veri tutabilirler. Diziler ise int, float, double gibi basit tipleri tutabilirler. Tabi ki her seferinde tür dönüşümü yapmaya gerek yoktur çünkü java kendisi basit tipleri nesneye çevirir. Aşağıdaki  kod sorunsuz çalışır,
ArrayList  arraylistobject = new ArrayList();
arraylistobject.add(23); 

Arka planda yapılan işlem ise aslında şudur;
arraylistobject.add( new Integer(23)); 

4. Size ve Length komutları
Dizilerde uzunluk length komutu ile yapılırken, ArrayList'de size komutu kullanılır. 

5. Çok boyutluluk
Diziler çok boyutlu tanımlabilir [][] köşeli parantez ile istediğiniz boyutta veri kümesi tutabilirsiniz. ArrayList ise tek boyutludur fakat içerisinde farklı türlerde veriyi saklayabilir.

6. Eleman ekleme
Dizilerde araya, başa veya sona eleman eklemek zordur. Arraylist de ise add komutu vb komutlarla verileri istediğiniz gibi yer değiştirebilirsiniz.

7. İterasyon
Foreach döngüsü ile arraylist elemanlarını çağırmak çok daha kolaydır. Dinamik yapısı sayesinde önceden kestirilemeyen veri boyutlarında oldukça kullanışlıdır.

8. Çoklu tür
ArrayList String, Integer, Char vb bir çok türü saklayabildiği gibi nesneleri de saklamanıza ve nesnelere ait basit türde verileri saklamanıza da yardımcı olur. 

 

Hiç yorum yok:

Yorum Gönder