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 را چپ کرده ایم.