ArrayList – Vector Farkı

Uygulamalarımızda kullandığımız en önemli iki Collection – List gerçekleştirimi olan ArrayList ve Vector arasındaki benzerliklere ve farklara bakalım :

  • Öncelikle her ki sınıf da index tabanlıdır ve dizi gibi çalışırlar. Dizilerden farkları ise ilk yaratımları sırasında eleman sayısı vermemiz gerekmez.
  • Her iki sınıf da elemanları eklendiği sırada saklar.
  • Her iki nesneye de null değer eklenebilir.
  • Her iki nesneye de aynı değer birden fazla eklenebilir.
  • Vector synchronized bir sınıftır. ArrayList değildir.
  • ArrayList, Vector’e göre daha hızlı çalışır.
  • Vector eşik değer geçildiğinde eleman sayısını artırarak capacityIncrement değişkeninde saklar. ArrayList’te ise ensureCapacity() metodu çağrılarak kapasite arttırılabilir.
  • Vector JDK 1.0 ‘dan beri var olan bir sınıftır. (ilk başta Collection Framework’üne dahil değildi) Daha sonra List interface’ini implement edecek şekilde yeniden düzenlenerek framework’un bir parçası haline gelmiştir.

Eş zamanlı erişime ihtiyacımız yoksa Vector yerine ArrayList sınıfını tercih edebiliriz. Ancak Swing uygulamalarda olduğu gibi bazı durumlarda Vector olmazsa olmaz nesnemizdir. (JTable ArrayList kabul etmez)

Eş zamanlı erişimlerde nesnemize aynı anda birden fazla okuma yapan thread ve daha az sayıda yazma işi yapan thread varsa Java 5 ile gelen CopyOnWriteArrayList sınıfı tercih edilebilir. Bu nesne Vector sınıfına göre daha performanslıdır.

 

 

 

 

 

 



513 defa okundu



Yorum Yazmak İstiyorum

E-posta hesabınız yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>