Arraylist ve Vector Arasındaki Fark

Arraylist ve Vector Arasındaki Fark
Arraylist ve Vector Arasındaki Fark

Video: Arraylist ve Vector Arasındaki Fark

Video: Arraylist ve Vector Arasındaki Fark
Video: İşaretçi Dizileri Bölüm 1 - Veri Yapıları Ders02 2024, Temmuz
Anonim

Arraylist vs Vektör

Arraylist, boyutu büyüyebilen dinamik bir dizi olarak görülebilir. Bu nedenle programcı, onu tanımlarken dizi listesinin boyutunu bilmesine gerek yoktur. Vektör ayrıca boyut olarak büyüyebilen bir dizi olarak da görülebilir. Vektörler kolayca tahsis edilebilir ve gerekli depolama boyutu çalışma zamanına kadar bilinmediğinde kullanılabilir.

Arraylist 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. Java'da, dizi listeleri 1.2 sürümünden itibaren tanıtıldı ve bu, Java Koleksiyonları Çerçevesinin bir parçasıdır.

Vektör Nedir?

Vektör ayrıca boyut olarak büyüyebilen bir dizidir. Vektörler kolayca tahsis edilebilir ve gerekli depolama boyutunun çalışma zamanına kadar bilinmediği durumlarda kullanılabilir. Vektörler ayrıca yalnızca nesneleri tutabilir ve ilkel türleri tutamaz. Vektörler senkronizedir, bu nedenle çok iş parçacıklı ortamlarda güvenle kullanılabilir. Vektörlere nesne ekleme, nesne silme ve nesneleri arama yöntemleri sağlanır. Java'daki arraylist'e benzer şekilde, vektörler foreach döngüleri, yineleyiciler veya yalnızca dizinler kullanılarak geçilebilir. Java söz konusu olduğunda, Java'nın ilk sürümünden beri vektörler dahil edilmiştir.

Arraylist ve Vector arasındaki fark nedir?

Arraylistler ve vektörler, boyut olarak büyüyebilen dinamik dizilere çok benzer olsa da, bazı önemli farklılıkları vardır. Dizi listeleri ve vektörler arasındaki temel fark, vektörlerin senkronize olması, dizi listelerinin ise senkronize olmamasıdır. Bu nedenle, vektörler çok iş parçacıklı ortamlarda (iş parçacığı güvenli olduklarından) güvenle kullanılabilirken, dizi listelerini çok iş parçacıklı ortamlarda kullanmak uygun olmayacaktır. Ancak vektörlerdeki senkronizasyon, performansta bir düşüşe neden olur. Bu nedenle, vektörleri tek iş parçacıklı bir ortamda kullanmak iyi bir fikir olmaz. Dahili olarak, hem dizi listeleri hem de vektörler, nesneleri tutmak için dizileri kullanır. Geçerli alan yeterli olmadığında, vektörler dahili dizisinin boyutunu iki katına çıkarırken, dizi listeleri dahili dizisinin boyutunu %50 oranında artırır. Ancak hem dizi listelerini hem de vektörleri kullanırken, uygun bir başlangıç kapasitesi vererek, dahili dizinin gereksiz yere yeniden boyutlandırılmasından kaçınılabilir. Verinin büyüme hızının bilindiği bir durumda, vektörlerin artımlı değeri tanımlanabileceği için vektörlerin kullanılması daha uygun olacaktır.

Önerilen: