Java'da ArrayList ile Vector Arasındaki Fark
İçerik
ArrayList ve Vector, Collection Framework hiyerarşisi altındaki sınıflardır. ArrayList ve Vector, her ikisi de, gerektiğinde ve gerektiğinde boyutta büyüyebilecekleri dinamik bir nesne dizisi oluşturmak için kullanılır. ArrayList ve Vector'i birbirinden ayıran iki temel fark vardır; Vector, Vector öğesinin daha sonra koleksiyon sınıflarını desteklemek için yeniden yapılandırılmış olan Legacy sınıflarına ait olduğu halde ArrayList standart bir koleksiyon sınıfıdır. Diğer bir önemli fark ise, ArrayList'in diğer yandan senkronize olmamasıdır; Vektör senkronize edildi.
Aşağıda gösterilen Karşılaştırma Tablosu yardımıyla diğer bazı farklılıkları da inceleyelim.
- Karşılaştırma Tablosu
- Tanım
- Anahtar Farklılıklar
- benzerlikler
- Sonuç
Karşılaştırma Tablosu
Karşılaştırma için temel | ArrayList | Vektör |
---|---|---|
Temel | ArrayList sınıfı Senkronize edilmedi. | Vektör sınıfı senkronize edildi. |
Eski sınıf | ArrayList standart bir Koleksiyon sınıfıdır. | Vector, koleksiyon sınıfını desteklemek için yeniden tasarlanmış eski bir sınıftır. |
Sınıf Beyanı | sınıf ArrayList | sınıf vektör |
Yeniden tahsis | Belirtilmediğinde, bir ArrayList boyutunun yarısı kadar artırılır. | Belirtilmediğinde, bir vektör boyutunu iki katına çıkarmak için artırılır. |
performans | ArrayList senkronize edilmediğinden, Vector öğesinden daha hızlı çalışır. | Vector senkronize edildiğinde ArrayList'ten daha yavaş çalışır. |
Sayım / Yineleyici | ArrayList, ArrayList'te depolanan nesneleri dolaşmak için Iterator arabirimini kullanır. | Vektör, Numaralandırma'da, Vektörler'de depolanan nesneleri dolaşmak için Yineleyici arabirimini kullanır. |
ArrayList'un tanımı
ArrayList, standart koleksiyon sınıfları listesine aittir. ArrayList sınıfı, içinde tanımlanır. java.util paket, uzatır AbstractList Aynı zamanda standart bir koleksiyon sınıfı olan ve ayrıca uygulayan sınıf ListeKoleksiyon Arayüzlerinde tanımlanan bir arayüz. Java'da standart bir dizi daima sabit uzunluktadır. Bu bir zamanlar yaratılmış demektir; dinamik olarak büyümez veya küçülmez. Bu nedenle, kullandığınız dizinin uzunluğunun önceden bilinmesi gerekir. Ancak, bazen gerekli uzunlukların çalışma zamanında ortaya çıkması olabilir, bu nedenle java ArrayList'i tanıttı.
ArrayList, nesnelere referansları tutan bir dizinin dinamik oluşturulması için kullanılan bir sınıftır. Bu dizi gerektiğinde ve gerektiğinde boyutta büyüyebilir. Sınıf beyanı aşağıdaki gibidir:
sınıf ArrayList Burada, E bir dizinin tutacağı nesnelerin tipini belirtir. Oluşturulan dizi değişken uzunluktadır ve nesneler listeye eklendiğinde veya çıkarıldığında boyut olarak artar ve azalır. ArrayList, eşitlenmez; bu, dizide aynı anda birden fazla iş parçacığının çalışabileceği anlamına gelir. Örneğin, bir iş parçacığı diziye bir nesne başvurusu ekliyorsa ve başka bir iş parçacığı aynı anda aynı diziden bir nesne başvurusunu kaldırıyorsa. ArrayList sınıfını kullanarak dinamik bir dizi oluşturulması: ArrayList Yukarıdaki kodda, bunu görebilirsiniz; String türünde bir dizi nesne yarattım. Add () yöntemini kullanarak S1 dizisine bazı nesneler ekledim ve daha sonra remove () yöntemini kullanarak bazı nesneleri sildim. Dizinin başlangıç büyüklüğünü '0' olacak şekilde belirlemediyseniz gözlemleyebilirsiniz. Gördüğünüz gibi, dizi büyür ve öğeleri ekleyip sildikçe boyut küçülür. Vector, Collection Framework hiyerarşisindeki koleksiyon sınıfını desteklemek için yeniden yapılandırılmış bir Legacy sınıfıdır. Vektör sınıfı ayrıca şu şekilde tanımlanır: java.util paket tarafından genişletildi AbstractList sınıf ve uygulanan Liste arabirimi. Vector sınıfı aşağıdaki şekilde bildirilir: sınıf vektör Burada, E bir dizide depolanacak nesne tipini tanımlar. Vector sınıfı kullanılarak oluşturulan bir dizi değişken uzunluktadır. Artış belirtilmezse, boyutunun iki katına çıkar. Vector kullanarak dizi oluşumunu anlayalım. Vektör Yukarıdaki kodda, string'in dizisini bildirirken, sırasıyla Vector'in yapıcısındaki boyut ve artış değerinden bahsettiğimi görebilirsiniz. Bu nedenle, dizi sınırı sona erdiğinde, bildirim sırasında yapıcıya sağlanan değerin arttığını gözlemleyebilirsiniz. ArrayList'in kullanımının Vector öğesini kullanmaktan daha hızlı ve daha iyi bir performans sergilediğinden daha iyi olduğunu söyleyerek sonuca varıyorum.
Vektörün Tanımı
benzerlikler:
Sonuç: