NotesWhat is notes.io?

Notes brand slogan

Notes - notes.io



Vector Sınıfı
java.util
Class Vector

java.lang.Object
|
+--java.util.AbstractCollection
|
+--java.util.AbstractList
|
+--java.util.Vector


Java dilinde Array’in ne kadar kullanışlı bir sınıf olduğunu görmüştük. Ancak, array’in uzunluğu; yani bileşenlerinin sayısı array bildiriminde belirleniyor ve bu uzunluk daha sonra değiştirilemiyordu. Bazı uygulamalarda, bu özelik ciddi bir handikap oluşturur. Java 2, bu sorunu çözmek için Vector sınıfını ve benzer işi yapan ArrayList sınıfını ortaya koydu. ArrayList senkronize olmadığı için Vector sınıfına göre daha hızlıdır. Elbette hızlı olmanın bir bedeli vardır. Senkronize olmaması demek, çoklu işlem ortamında güvenirliği azalır.

Java 2 sürümünde, Vector sınıfına ArrayList sınıfının bir çok metodu eklendi. Böylece, Vector sınıfı bir çok uygulamada Array sınıfının yerini aldı.

Vector sınıfı yalnızca nesneler içerebilir; ilkel veri tiplerini içeremez. İlkel veri tipleri kullanılacaksa, onların bir nesne içine konulması gerekir. Örneğin int tipinden Vector sınıfı tanımlanamaz, ama Integer sınıfından tanımlanabilir. int veri tipi, Integer sınıfı tarafından sarmalandığı için, sonunda int tipi içeren Vector sınıfı elde edilir.



VECTOR YARATMA

Programda Vector nesnesi yaratmak için ya java.util.Vector paketi ya da java.util.* paketi çağrılmalıdır. Bunu yapmak için, programın başına

import java.util.Vector;
ya da

import java.util.*;.
yazılmalıdır. Sonra aşağıdaki kurucularda istenen birisiyle vektör sınıfı yaratılır.

Vector Kurucuları (constructors)
Vector v = new Vector();
deyimi uzunluğu 10 olan boş bir vektör yaratır. Uzunluk belirtilmediği zaman, vektör sınıfının öntanımlı (default) uzunluğu daima 10 bileşendir.

Vector v = new Vector(Collection c);
deyimi belirtilen koleksiyonun öğelerini içeren bir vektör yaratır.

Vector v = new Vector(int başlangıçKapasitesi);
deyimi, başlangıç kapasitesi belirlenen boş bir vektör yaratır. Standart kapasite artışı 0 dır.

Vector v = new Vector(int başlangıçKapasite, int kapasiteArtışı);
deyimi, başlangıç kapasitesi belirlenen boş bir vektör yaratır. Kapasite artışı kapasiteArtışı ile verilen int değerdir.

Vector v = new Vector();
deyimi kullanılır. Bu deyim 10 bileşenli bir vektör yaratır; yani vektörün öntanımlı uzunluğu 10 dur. Eğer uzunluğu kendimiz belirlemek istiyorsak, örneğin 215 bileşenli bir vektör için

Vector v = new Vector(215);
deyimini yazarız.



VEKTÖRÜN UZUNLUĞUNU DEĞİŞTİRME

Vector, özünde bir arraydir; arrayden öneli farkı uzunluğunundeğiştirilebilir oluşudur. Vector’ün bileşenlerinin hepsine değer atanır ve yeni bileşen ekleme gereksemesi ortaya çıkarsa, teknik olarak yapılan iş şudur:

Mevcut vektörün bileşen sayısından bir fazla bileşeni olan bir Vector yaratılır. Eski Vector’ün bileşenleri, sırasıyla, yeni vektörün bileşenlerine aktarılır. En sona eklenen yeni bileşene yeni değer girilir. Tabii, bu işlem biraz zaman alıcıdır. O nedenle, gerekseme duyulacak bileşen sayısı başlangıçta biliniyorsa, vektör yerine array tercih edilmelidir.

Tabii, vektörün bileşenlerine ekleme yapılabildiği gibi, istenen bileşen silinebilir, bileşenlerin arasına yeni bileşen yerleştirilebilir.

VECTOR’E YENİ BİLEŞEN EKLEME

Vektöre yeni bileşen eklemek için

v.add(s); // v vektörünün sonuna yeni s bileşenini ekler
deyimi yazılır.

VECTOR’ÜN ÖĞELERİNİ LİSTELEME

Bir vektörün bütün bileşenlerini listelemek için, elbette for döngüsü kullanılabilir. Ama vektör sınıfı daha kolay bir yöntem sunar:

LİSTITERATOR

Aşağıdaki kod parçası ListIteratörün kullanılışını göstermektedir.

ListIterator iter = v.listIterator();
while (iter.hasNext()) {
System.out.println((String)iter.next());
}
VECTOR SINIFININ METOTLARI

Aşağıdaki tabloda v bir vektör, o bir nesne (object), i ise int tipinden bir damgadır (index).

Metot
Açıklama
v.add(o)
v vektörüne o nesnesini ekler
v.add(i, o)
i damgalı bileşeni bir sonraya iter, araya o nesnesini yerleştirir
v.clear()
v vektörünün bütün bileşenlerini siler
v.contains(o)
v vektörü o nesnesini içeriyorsa true, değilse false değerini alır
v.firstElement(i)
v vektörünün ilk bileşenini verir
v.get(i)
v vektörünün i-damgalı bileşenini verir
v.lastElement(i)
v vektörünün son bileşenini verir
v.listIterator()
v vektörünün bütün bileşenleri üzerinde sırayla geçer (döngü yapar)
v.remove(i)
v vektörünün i-damgalı bileşenini siler
v.set(i,o)
v vektörünün i-damgasını o objesine takar
v.size()
v vektörünün bileşen sayısını (uzunluğunu) verir
v.toArray(Object[])
v vektörünü nesne arrayine dönüştürür


ÖRNEKLER

Aşağıdaki örnek, boş bir vektör nesnesi yaratıyor, 0-ıncı damgadan başlayıp 4-üncü damgaya kadar bileşenlerine beş tane String ekliyor. Sonra 3-damgalı bileşene yeni bir String yerleştiriyor (araya giriyor). Bu işlem 3 ve 4 numaralı bileşenleri birer damga yukarıya kaydırıyor. Dolayısıyla vektörün bileşen sayısı 6 oluyor.

Vector01.java

import java.util.Vector;

public class Vector01 {

public static void main(String[] args) {

Vector<String> v = new Vector<String>();
/*
* Bu kurucu String tipinden boş bir vektör yarattı
* <E> vektörün öğe tipidir, burada String
* String, Integer, Object gibi bir nesne olabilir

* vektörün sonuna öğe ekleme
* vektörün bileşen damgaları 0 dan başlar
*/
v.add("Vector Object 0");
v.add("Vector Object 1");
v.add("Vector Object 2");
v.add("Vector Object 3");
v.add("Vector Object 4");

// indeksi belirli yere öğe yerleştir (araya gir)

v.add(3, "Damgası 3 olan bileşene girilen öğe");

// v.size() vektörün bileşen sayısını verir

System.out.println("Vektörün uzunluğu :"+v.size());

// Vektörün öğelerini listeler

for(int i=0; i < v.size(); i++)
{
System.out.println("Vektör öğesi : "+i+" :"+v.get(i));
}
}
}




Çıktı

Vektörün uzunluğu :6
Vektör öğesi : 0 :Vector Object 0
Vektör öğesi : 1 :Vector Object 1
Vektör öğesi : 2 :Vector Object 2
Vektör öğesi : 3 :Damgası 3 olan bileşene girilen öğe
Vektör öğesi : 4 :Vector Object 3
Vektör öğesi : 5 :Vector Object 4




Aşağıdaki örnek vektör metotlarının kullanılışını göstermektedir.

VectorDemo.java

import java.util.*;
public class VectorDemo {
public static void main(String[] args){
Vector<Object> vector = new Vector<Object>();
int primitiveType = 100;
Integer wrapperType = new Integer(200);
String str = "Başkent Ankara";
vector.add(primitiveType);
vector.add(wrapperType);
vector.add(str);
vector.add(2, new Integer(300));
System.out.println("vektörün öğeleri : " + vector);
System.out.println("vektörün uzunluğu : " + vector.size());
System.out.println("vektörün 2 numaralı bileşeni : " + vector.elementAt(2));
System.out.println("vektörün ilk öğesi : " + vector.firstElement());
System.out.println("vektörün son öğesi : " + vector.lastElement());
vector.removeElementAt(2);
Enumeration e=vector.elements();
System.out.println("vektörün öğeleri : " + vector);
while(e.hasMoreElements()){
System.out.println("öğeler : " + e.nextElement());
}
}
}




vektörün öğeleri : [100, 200, 300, Başkent Ankara]
vektörün uzunluğu : 4
vektörün 2 numaralı bileşeni : 300
vektörün ilk öğesi : 100
vektörün son öğesi : Başkent Ankara
vektörün öğeleri : [100, 200, Başkent Ankara]
öğeler : 100
öğeler : 200
öğeler : Başkent Ankara
     
 
what is notes.io
 

Notes.io is a web-based application for taking notes. You can take your notes and share with others people. If you like taking long notes, notes.io is designed for you. To date, over 8,000,000,000 notes created and continuing...

With notes.io;

  • * You can take a note from anywhere and any device with internet connection.
  • * You can share the notes in social platforms (YouTube, Facebook, Twitter, instagram etc.).
  • * You can quickly share your contents without website, blog and e-mail.
  • * You don't need to create any Account to share a note. As you wish you can use quick, easy and best shortened notes with sms, websites, e-mail, or messaging services (WhatsApp, iMessage, Telegram, Signal).
  • * Notes.io has fabulous infrastructure design for a short link and allows you to share the note as an easy and understandable link.

Fast: Notes.io is built for speed and performance. You can take a notes quickly and browse your archive.

Easy: Notes.io doesn’t require installation. Just write and share note!

Short: Notes.io’s url just 8 character. You’ll get shorten link of your note when you want to share. (Ex: notes.io/q )

Free: Notes.io works for 12 years and has been free since the day it was started.


You immediately create your first note and start sharing with the ones you wish. If you want to contact us, you can use the following communication channels;


Email: [email protected]

Twitter: http://twitter.com/notesio

Instagram: http://instagram.com/notes.io

Facebook: http://facebook.com/notesio



Regards;
Notes.io Team

     
 
Shortened Note Link
 
 
Looding Image
 
     
 
Long File
 
 

For written notes was greater than 18KB Unable to shorten.

To be smaller than 18KB, please organize your notes, or sign in.