Bu eğitimde Vector sınıfını ve nasıl kullanılacağını öğreneceğiz. Ayrıca ArrayList sınıfından nasıl farklı olduğunu ve bunun yerine neden dizi listeleri kullanmamız gerektiğini öğreneceğiz.
Vector
Sınıf bir uygulamasıdır List
bize ArrayList sınıfını benzer boyutlandırılabilir-dizileri oluşturmak sağlar arayüzüne.
Java Vektörü ArrayList'e Karşı
Java'da, hem ArrayList
ve Vector
uygular List
arayüzü ve aynı işlevleri sağlar. Ancak aralarında bazı farklılıklar vardır.
Vector
Sınıf her bir işlem senkronize eder. Bu, vektörler üzerinde bir işlem yapmak istediğimizde, Vector
sınıfın bu işleme otomatik olarak bir kilit uyguladığı anlamına gelir .
Bunun nedeni, bir iş parçacığının bir vektöre erişmesi ve aynı zamanda başka bir iş parçacığının ona erişmeye çalışması, adı verilen bir istisna ConcurrentModificationException
oluşturulmasıdır. Dolayısıyla, her işlem için bu sürekli kilit kullanımı vektörleri daha az verimli hale getirir.
Ancak dizi listelerinde yöntemler senkronize edilmez. Bunun yerine, Collections.synchronizedList()
listeyi bir bütün olarak senkronize eden yöntemi kullanır .
Not: Bu kullanım önerilir ArrayList
yerine Vector
vektörler ÅŸan olmayan ve daha az verimli olduğu için.
Bir Vektör Oluşturmak
Java'da vektörleri nasıl oluşturabiliriz.
Vector vector = new Vector();
Burada Tür, bağlantılı listenin türünü belirtir. Örneğin,
// create Integer type linked list Vector vector= new Vector(); // create String type linked list Vector vector= new Vector();
Vektör Yöntemleri
Vector
Sınıf, aynı zamanda, boyutlandırılabilir dizi uygulamaları sağlar List
(benzer arayüzü ArrayList
sınıfı). Bazı Vector
yöntemlerde şunlardır:
Vektöre Öğe Ekleme
add(element)
- vektörlere bir eleman ekleradd(index, element)
- belirtilen konuma bir eleman ekleraddAll(vector)
- bir vektörün tüm öğelerini başka bir vektöre ekler
Örneğin,
import java.util.Vector; class Main ( public static void main(String() args) ( Vector mammals= new Vector(); // Using the add() method mammals.add("Dog"); mammals.add("Horse"); // Using index number mammals.add(2, "Cat"); System.out.println("Vector: " + mammals); // Using addAll() Vector animals = new Vector(); animals.add("Crocodile"); animals.addAll(mammals); System.out.println("New Vector: " + animals); ) )
Çıktı
Vektör: (Köpek, At, Kedi) Yeni Vektör: (Timsah, Köpek, At, Kedi)
Vektör Öğelerine Erişim
get(index)
- dizin tarafından belirtilen bir öğeyi döndürüriterator()
- vektör öğelerine sıralı olarak erişmek için bir yineleyici nesnesi döndürür
Örneğin,
import java.util.Iterator; import java.util.Vector; class Main ( public static void main(String() args) ( Vector animals= new Vector(); animals.add("Dog"); animals.add("Horse"); animals.add("Cat"); // Using get() String element = animals.get(2); System.out.println("Element at index 2: " + element); // Using iterator() Iterator iterate = animals.iterator(); System.out.print("Vector: "); while(iterate.hasNext()) ( System.out.print(iterate.next()); System.out.print(", "); ) ) )
Çıktı
Dizin 2'deki öğe: Kedi Vektör: Köpek, At, Kedi,
Vektör Öğelerini Kaldır
remove(index)
- belirtilen konumdan bir öğeyi kaldırırremoveAll()
- tüm unsurları kaldırırclear()
- tüm öğeleri kaldırır. Şundan daha verimliremoveAll()
Örneğin,
import java.util.Vector; class Main ( public static void main(String() args) ( Vector animals= new Vector(); animals.add("Dog"); animals.add("Horse"); animals.add("Cat"); System.out.println("Initial Vector: " + animals); // Using remove() String element = animals.remove(1); System.out.println("Removed Element: " + element); System.out.println("New Vector: " + animals); // Using clear() animals.clear(); System.out.println("Vector after clear(): " + animals); ) )
Çıktı
İlk Vektör: (Köpek, At, Kedi) Kaldırılan Öğe: At Yeni Vektör: (Köpek, Kedi) Temizledikten sonra vektör (): ()
Diğerleri Vektör Yöntemleri
Yöntemler | Açıklamalar |
---|---|
set() | vektörün bir öğesini değiştirir |
size() | vektörün boyutunu döndürür |
toArray() | vektörü bir diziye dönüştürür |
toString() | vektörü bir dizeye dönüştürür |
contains() | vektörü belirtilen öğe için arar ve bir mantıksal sonuç döndürür |