Java Collections Vector Sınıfının Kullanımı

Java array kullanımındaki dezavantajlardan biri olan dizilerin boyutunun belirtilmesi zorunluluğu program yazarken bazı sorunlara yol açıyordu . Bu sorun ArrayList ve Vector sınıflarıyla otomatik artan dizi boyutu halini aldı . Sadece otomatik artan dizi boyutu değil bir çok hazır metod bu sınıflar içerisinde geldi . Motodlar dizi içerisindeki elementlere kolayca erişebilme ve üzerinde işlem yapabilme yetisi kazandırdı . Vector sınıfı ArrayList sınıfında olduğu gibi Indis değerlerine sahiptir ve Indis değerleri ile ulaşılarak doğrudan element üzerinde işlem yapılabilir . Vector sınıfı ArrayList sınıfına göre daha fazla kullanılan sınıftır çünkü çoklu çoklu işlemlerde daha güvenli bir sınıftır .

Vector sınıfı içerisine sadece nesne türündeki verileri alabilir . İlkel veri tipindeki değerleri alamaz . Aşağıda vereceğim örneklerde ilkel veri tipindeki bir değeri Vector nesnesine gönderiyorum ama java derleycisi tarafından ilkel veri tipi nesne tipine otomatik dönüştürülüyor . Bu işleme İstemsiz Dönüşüm ( explicit casting ) deniyor . Örnek ile açıklayalım .

[java]

Vector<Integer> vec = new Vector<Integer>();

vec.add(50);
vec.add(100);

System.out.println(vec);
// 50,100 değerleri yazdırılacaktır . İstemsiz dönüşüm olmuştur .
// explicit casting işlemi otomatik uygulanmıştır .

[/java]

Object ile Object tipinden Vector içerisine veri alabileceğimizi belirttik . Object tüm sınıfların üst sınıfı olduğu için Vector sınıfımız içerisine String Integer Boolean tüm veri tiplerini alabilecektir . Sadece Integer tipinden veri almasını isteseydik belirtmemiz yeterliydi .Şimdide İlkel veri tipleri ile explicit casting işlemini uygulamadan direk nesne veri tipi gönderelim .

[java]

Vector<Integer> vec = new Vector<Integer>();

vec.add(new Integer(50));
vec.add(new Integer(100));

[/java]

Sonuç olarak iki örnektede sonuca başarıyla ulaşabiliriz .Vector sınıflarında değer sayısı ve dizinin boyutunu yazdıralım .

[java]

Vector<Integer> vec = new Vector<Integer>();

vec.add(50);
vec.add(100);

System.out.println("Eleman Sayısı : " + vec.size());
System.out.println("Dizi Boyutu : " + vec.capacity());

[/java]

Örnekteki sonuçlara bakıldığında dizi boyutunun 10’arlı bir şekilde arttığı gözlemleyebilirsiniz .Şimdi ise Vector sınıfının diğer özelliklerini inceleyelim . Bu özelliklerde araya eleman ekleme , eleman silme ve iterator nesnesi ile diziyi listelemeye bakalım .

[java]

Vector<object> vec = new Vector<object>();</object></object>

System.out.println(vec.size());
System.out.println(vec.capacity());

vec.add(new String("BURSA"));
vec.add("ISTANBUL");
vec.add("ANKARA");
vec.add("ADANA");
vec.add("İZMİR");
vec.add("VAN");

System.out.println("Eleman Sayısı : " + vec.size());
System.out.println("Dizi Boyutu : " + vec.capacity());

// Dizinin İlk Elemanı
System.out.println(vec.firstElement());

// Dizinin Son Elemanı
System.out.println(vec.lastElement());

// Indis değeri belirtilen elemanın değeri
System.out.println(vec.elementAt(2));

// Dizinin 3. Indisine yeni eleman ekleyelim
vec.add(2,"KAYSERİ");

// Indis değeri 0 olan elementi diziden silelim

vec.removeElementAt(0);

Iterator<object> i = vec.iterator();</object>

while(i.hasNext())
{
System.out.println(i.next());
}

[/java]

Buraya kadar Vector sınıfı üzerinde birçok işlemi yaptık . Şimdi ise Vector sınıfını tamamen temizleyelim . Yani Vector sınıfı içerisindeki tüm değerleri silelim .

[java]

vec.clear();
// Sınıf içerisindeki tüm değerleri kaldırdık .

[/java]

Yukarıda Vector sınıfının 10 ‘arlı bir şekilde boyutunun arttığını söylemiştik . Bu artış default olarak 10,10 şeklinde gelmektedir . Yani ilk dizinin boyutu 10 daha sonra dizideki eleman sayısı 10 ‘u aşarsa 10 değer kadar dizi boyutunu belirt anlamına gelmektedir .

Son örneğimizde default artış değerinin değiştirilmesini görelim ve Vector sınıfının sonuna gelelim .

[java]

Vector<Object> vec = new Vector<Object>(5,10);

System.out.println(vec.size());
System.out.println(vec.capacity());

vec.add(new String("BURSA"));
vec.add("ISTANBUL");
vec.add("ANKARA");
vec.add("ADANA");
vec.add("İZMİR");
vec.add("VAN");

System.out.println("Eleman Sayısı : " + vec.size());
System.out.println("Dizi Boyutu : " + vec.capacity());

[/java]

Görüldüğü gibi dizinin ilk boyutu 5 olarak ve sonraki artışlarda 2 olarak arttığını gözlemleyebilirsiniz .

Vector sınıfının daha birçok özelliği mecvut . Bu sınıfları http://docs.oracle.com/javase/7/docs/api/java/util/Vector.html kaynağından detaylıca inceleyebilirsiniz .
Yararlı Olması Dileğiyle

Rahim CAN