Vector

کلاس Vector هم، رابط List را پیاده سازی می کند. همانند ArrayList می تواند تعداد نامشخصی عنصر داشته باشد ولی سرعت آن در جستجو، اضافه و حذف عناصر نسبت به ArrayList کمتر است. سه روش برای ایجاد یک شیء از کلاس Vector وجود دارد. در روش اول تعداد عناصر را مشخص نمی کنیم. در این حالت ظرفیت پیشفرض vector ده عنصر می باشد:

Vector myVector = new Vector();

نکته ای که در این روش وجود دارد این است که وقتی شما بخواهید یازدهمین عنصر را وارد کنید، ظرفیت Vector دو برابر می شود.

در روش دوم یک ظرفیت برای Vector تعریف می کنیم :

Vector myVector = new Vector(int initialCapacity)

در مثال بالا Vector سه عنصر را می تواند در خود جای دهد.

و روش سوم هم دو آرگومان برای Vector در نظر می گیریم. آرگومان اول به معنای ظرفیت پیشفرض و آرگومان دوم هم به معنای ظرفیت نهایی می باشد :

Vector myVector = new vector(int initialcapacity, capacityIncrement)

یعنی در مثال فوق بعد از وارد کردن پنجمین عنصر سایز Vector به 10 و بعد از وارد کردن یازدهمین عنصر ظرفیت Vector به 16 افزایش می یابد.
متدهای مهم کلاس Vector در زیر آمده است :

متد توضیح
addElement یک عنصر را به آخر Vector اضافه می کند.
capacity ظرفیت فعلی Vector را بر می گرداند.
size اندازه فعلی (تعداد عناصر) Vector را بر می گرداند.
contains چک می کند که آیا یک عنصر خاص در Vector وجود دارد یا نه؟
containsAll چک می کند که آیا همه عناصر یک مجموعه در داخل Vector هستند یا خیر؟
elementAt چک می کند که آیا یک عنصر خاص در موقعیتی خاص از Vector وجود دارد یا نه؟
firstElement اولین عنصر Vector را بر می گرداند.
lastElement آخرین عنصر Vector را بر می گرداند.
get یک عنصر که در موقعیت یا اندیسی خاص از Vector است، را بر می گرداند.
isEmpty اگر Vector دارای هیچ عنصری نباشد مقدار true را بر می گرداند.
removeElement یک عنصر خاص از Vector را حذف می کند.
removeAll همه عناصر Vector را که در یک مجموعه هستند حذف می کند.
setElementAt یک عنصر را جایگزین یک عنصر با اندیس خاص می کند.

برای نحوه کار با کلاس Vector به مثال زیر توجه کنید :

   1: import java.util.*;
   2: 
   3: public class VectorDemo 
   4: {
   5:     public static void main(String[] args) 
   6:     {
   7:       /* Vector of initial capacity(size) of 2 */
   8:       Vector<String> myVector = new Vector<String>(2);
   9: 
  10:       /* Adding elements to a vector*/
  11:       myVector.addElement("Apple");
  12:       myVector.addElement("Orange");
  13:       myVector.addElement("Mango");
  14:       myVector.addElement("Fig");
  15: 
  16:       /* check size */
  17:       System.out.println("Size is: "+ myVector.size());
  18:       System.out.println("Default capacity increment is: " +myVector.capacity());
  19: 
  20:       /* capacityIncrement */ 
  21:       myVector.addElement("fruit1");
  22:       myVector.addElement("fruit2");
  23:       myVector.addElement("fruit3");
  24: 
  25:       /*size and capacityIncrement after two insertions*/
  26:       System.out.println("Size after addition: " + myVector.size());
  27:       System.out.println("Capacity after increment is: " + myVector.capacity());
  28: 
  29:       /*Display Vector elements*/
  29:       System.out.println("\nElement are: ");
  30:       for(String vector : myVector)
  31:       {
  32:           System.out.println(vector);
  33:       }
  34:     }    
  35: }
Size is: 4
Default capacity increment is: 4
Size after addition: 7
Capacity after increment is: 8

Element are: 
Apple
Orange
Mango
Fig
fruit1
fruit2
fruit3

همانطور که در کد بالا مشاهده می کنید، ظرفیت Vector برابر عدد 2 است (خط 8) ولی چون ما در خطوط 14-11 چهار عنصر به آن اضافه کرده ایم، ظرفیت آن به 4 تغییر می کند. به این نکته توجه کنید که متد ()size تعداد عناصر و متد ()capacity حجم Vector را نشان می دهد. به ادامه کد توجه کنید. در خطوط 23-21 سه عنصر دیگر به Vector اضافه کرده ایم. در نتیجه خروجی تعداد عناصر را 7 و حجم Vector را 8 نشان می دهد. در آخر هم با استفاده از یک حلقه foreach تمام عناصر Vector را چپ کرده ایم.