فئة المتجه من جافا
تنفذ الفئة java Vector صفيفا من الكائنات المشابهة ل ArrayList. يمكن الوصول إلى عناصر المتجهات من خلال فهرس عدد صحيح. يختلف حجم Vector وفقا للحاجة (لإضافة أو إزالة العناصر) بعد الإنشاء.Vector متزامن ، مما يعني أنه يسمح بالعديد من العمليات في نفس الوقت ، ومع ذلك ، فإنه لا يضمن الأداء الجيد عند استخدام خيوط متعددة. يوصى باستخدام ArrayList الذي يعطي أداء جيدا إذا لم تكن بحاجة إلى مزامنة القائمة.
Vector ينفذ واجهة القائمة مثل ArrayList ، عيبه أنه يعطي أداء ضعيفا كما هو مذكور بسبب تزامنه في عمليات إضافة وإيجاد وحذف وتعديل هذه العناصر.
تدعم فئة Vector 4 منشئات:
1) المتجه v = المتجه الجديد () ؛ < / span >< br / >ينشئ هذا المنشئ متجه فارغا بحجم أولي 10. سيتم تغيير حجم المتجه إذا تجاوز 10 عناصر بحيث يتم إدراج العنصر الحادي عشر في Vector.
2) المتجه v = متجه جديد (int abilityInitial) ؛ < / span >< br / >يقوم هذا الشكل بتهيئة المتجه بحجم أولي يحدد عدد العناصر المراد تخصيصها.
Vector v = متجه جديد (5) ؛ / / سيتم إنشاء متجه بسعة 5.< / span>
3)Vector v = متجه جديد (int abilityInitial ، int capacity)
ينشئ متجه بسعة أولية ويحدد عدد البلاطات التي سيتم تخصيصها عندما يقوم Vector بتغيير حجم السعة إذا وصل عدد العناصر إلى الحد الأقصى للحجم.
المتجه v = المتجه الجديد (8); < / span >< br / > سيخلق متجه بسعة 8 وسعة زيادة 4. ماذا يعني هذا أن إدراج العنصر التاسع ، الحجم هو 12 (8 + 4) والإدراج السادس عشر سيكون 20 (16 + 4) .
4)المتجه v = متجه جديد (المجموعة ج)؛ < / span >< br / > تهيئة المتجه بمجموعة من الكائنات (ArrayList ، TreeSet ، HashMap ، إلخ).
طرق Vector المهمة< / h2>كما هو الحال في ArrayList ومجموعات الكائنات الأخرى ، يقوم Vector بتنفيذ قائمة واجهة < / a> و واجهة Collections التي ترث منها العديد من طرق الإضافة والحذف والبحث والتعديل.Add Item
تتم الإضافة بطريقتين: add () < / span > و addElement(). addElement() بعد إدراج زيادات في حجم القائمة.
import java.util.Vector;
فئة عامة addElement{
الفراغ العام الثابت الرئيسي (سلسلة [] args) {
المتجه v = متجه جديد ();
v.add(1);
v.add(2);
v.add(3);
System.out.println (v) ؛
v.addElement(4);
System.out.println (v) ؛
}
}
< / pre> الإخراج: < / div>
< pre class = "prettyprint lang-java" > [1 ، 2 ، 3]
[1 ، 2 ، 3 ، 4]
< / pre>< / div>حذف عنصر< / h3 >< / div> يمكنك حذف إما باستخدام الفهرس باستخدام طريقة < span style = "عائلة الخط: ساعي جديد ، ساعي ، ميني فان ؛" >إزالة (فهرس int) < / span> ، إما بطريقتك الخاصة في < / span > المتجه < / span >< span style = "عائلة الخط: ساعي جديد ، ساعي ، أحادي الفضاء ؛" >removeElementAt(int index). يمكن البحث عن كائن وحذفه < / span > بالطريقة إزالة (كائن س) < / سبان>: < / div>
< / div>< pre class = "prettyprint lang-java" >import java.util.Vector ؛
إزالة الفئة العامة {
الفراغ العام الثابت الرئيسي (سلسلة [] args) {
المتجه v = متجه جديد ();
v.add(1);
v.add(2);
v.add(3);
v.add(4);
System.out.println (v) ؛
//delete with index
v.remove(2);
System.out.println ("حذف العنصر في الفهرس 2: "+v);
//suppressioin مع object
v.reremove (عدد صحيح جديد (1)) ؛
System.out.println("حذف عدد صحيح 1:"+v);
}
}
< / pre> الإخراج:
< pre class = "prettyprint lang-java" > [1 ، 2 ، 3 ، 4]
حذف العنصر في الفهرس 2: [1 ، 2 ، 4] < br / > حذف عدد صحيح 1: [2 ، 4]
< / pre>< / div>هناك أيضا طريقة removeAll(Collection c) الذي يزيل مجموعة فرعية من القائمة. لإفراغ القائمة ، استخدم الطريقة removeAll() الذي يحذف جميع العناصر.
elementAt() وsetElementAt()
الحصول على (int i) < / span > أو elementAt(int i) إرجاع العنصر إلى الفهرس المحدد i و set(كائن o, int i) < / span > أو setElementAt(Object obj, int i) يستبدل العنصر بالكائن obj. get() لقلب العناصر أثناء انتقال المتجه. يتم الحصول على السعة بالطريقة size().
import java.util.Vector;
اختبار الفئة العامة {
الفراغ الثابت العام الرئيسي (سلسلة [] args) {
المتجه v = متجه جديد ();
v.add(1);
v.add(2);
v.add(3);
v.add(4);
System.out.println ("العنصر الأول: "+v.firstElement());
System.out.println("العنصر الأخير: "+v.lastElement());
for (int i = 0 ؛ i< v.size(); i++)
System.out.println(v.get(i));
v.setElementAt("اثنان" ، 1) ؛
System.out.println (v) ؛
} < br / >}
< / pre> الإخراج:
< pre class = "prettyprint lang-java" > العنصر الأول: 1
العنصر الأخير: 4
1
2
3
4
[1 ، اثنان ، 3 ، 4] < / pre>< / div>< / div>ابحث عن عنصر< / h3 >البحث في متجه سهل ، يجب عليك استدعاء الطريقة indexOf(Object o) الذي يرجع فهرس التكرار الأول الذي تم العثور عليه. لدينا أيضا طريقة lastIndexOf(Object o) الذي يرجع فهرس آخر ظهور تم العثور عليه.
import java.util.Vector;
اختبار الفئة العامة {
الفراغ الثابت العام الرئيسي (سلسلة [] args) {
المتجه v = متجه جديد ();
v.add ("java") ؛
v.add("c")؛
v.add("c++");
v.add ("جافا سكريبت") ؛
v.add ("جافا") ؛
System.out.println ("أول ظهور ل c: "+v.indexOf("c++"));
System.out.println("آخر ظهور لجافا: "+v.lastIndexOf("java"));
}
}
< / pre> الإخراج
< pre class = "prettyprint lang-java" > أول ظهور ل C: 2
آخر ظهور لجافا: 4
< / pre>< / div>
< / div>طرق أخرى:
- int Capacity(): إرجاع سعة القائمة.
- int setSize(): تغيير الحجم الحالي للقائمة.
- يحتوي منطقي على (كائن o) < / span >: تحقق مما إذا كان المتجه يحتوي على الكائن o.
- boolean isEmpty () < / span>: إرجاع true إذا كان فارغا.
- Object[] toArray(): المتجه المحول المحول إلى صفيف من الكائنات.
note:
size() حجم القائمة ونمط Capacity() السعة التي يمكن أن تستوعبها القائمة. لذلك يتم إجراء مسار Vector دائما باستخدام size() وإلا سترى خطأ يفيد بأنك تجاوزت الحجم.
المراجع:
openclassroms ناقلات جافا
javadoc: فئة المتجهات
Add Item
تتم الإضافة بطريقتين: add () < / span > و addElement(). addElement() بعد إدراج زيادات في حجم القائمة.
import java.util.Vector;
فئة عامة addElement{
الفراغ العام الثابت الرئيسي (سلسلة [] args) {
المتجه v = متجه جديد ();
v.add(1);
v.add(2);
v.add(3);
System.out.println (v) ؛
v.addElement(4);
System.out.println (v) ؛
}
}
< / pre> الإخراج: < / div>
< pre class = "prettyprint lang-java" > [1 ، 2 ، 3]
[1 ، 2 ، 3 ، 4]
< / pre>< / div>حذف عنصر< / h3 >< / div>
يمكنك حذف إما باستخدام الفهرس باستخدام طريقة < span style = "عائلة الخط: ساعي جديد ، ساعي ، ميني فان ؛" >إزالة (فهرس int) < / span> ، إما بطريقتك الخاصة في < / span > المتجه < / span >< span style = "عائلة الخط: ساعي جديد ، ساعي ، أحادي الفضاء ؛" >removeElementAt(int index). يمكن البحث عن كائن وحذفه < / span > بالطريقة إزالة (كائن س) < / سبان>: < / div>
< / div>< pre class = "prettyprint lang-java" >import java.util.Vector ؛
إزالة الفئة العامة {
الفراغ العام الثابت الرئيسي (سلسلة [] args) {
المتجه v = متجه جديد ();
v.add(1);
v.add(2);
v.add(3);
v.add(4);
System.out.println (v) ؛
//delete with index
v.remove(2);
System.out.println ("حذف العنصر في الفهرس 2: "+v);
//suppressioin مع object
v.reremove (عدد صحيح جديد (1)) ؛
System.out.println("حذف عدد صحيح 1:"+v);
}
}
< / pre> الإخراج:
< pre class = "prettyprint lang-java" > [1 ، 2 ، 3 ، 4]
حذف العنصر في الفهرس 2: [1 ، 2 ، 4] < br / > حذف عدد صحيح 1: [2 ، 4]
< / pre>< / div>هناك أيضا طريقة removeAll(Collection c) الذي يزيل مجموعة فرعية من القائمة. لإفراغ القائمة ، استخدم الطريقة removeAll() الذي يحذف جميع العناصر.elementAt() وsetElementAt()
الحصول على (int i) < / span > أو elementAt(int i) إرجاع العنصر إلى الفهرس المحدد i و set(كائن o, int i) < / span > أو setElementAt(Object obj, int i) يستبدل العنصر بالكائن obj. get() لقلب العناصر أثناء انتقال المتجه. يتم الحصول على السعة بالطريقة size().import java.util.Vector;
اختبار الفئة العامة {
الفراغ الثابت العام الرئيسي (سلسلة [] args) {
المتجه v = متجه جديد ();
v.add(1);
v.add(2);
v.add(3);
v.add(4);
System.out.println ("العنصر الأول: "+v.firstElement());
System.out.println("العنصر الأخير: "+v.lastElement());
for (int i = 0 ؛ i< v.size(); i++)
System.out.println(v.get(i));
v.setElementAt("اثنان" ، 1) ؛
System.out.println (v) ؛
} < br / >}
< / pre> الإخراج:
< pre class = "prettyprint lang-java" > العنصر الأول: 1
العنصر الأخير: 4
1
2
3
4
[1 ، اثنان ، 3 ، 4] < / pre>< / div>< / div>ابحث عن عنصر< / h3 >
البحث في متجه سهل ، يجب عليك استدعاء الطريقة indexOf(Object o) الذي يرجع فهرس التكرار الأول الذي تم العثور عليه. لدينا أيضا طريقة lastIndexOf(Object o) الذي يرجع فهرس آخر ظهور تم العثور عليه.import java.util.Vector;
اختبار الفئة العامة {
الفراغ الثابت العام الرئيسي (سلسلة [] args) {
المتجه v = متجه جديد ();
v.add ("java") ؛
v.add("c")؛
v.add("c++");
v.add ("جافا سكريبت") ؛
v.add ("جافا") ؛
System.out.println ("أول ظهور ل c: "+v.indexOf("c++"));
System.out.println("آخر ظهور لجافا: "+v.lastIndexOf("java"));
}
}
< / pre> الإخراج
< pre class = "prettyprint lang-java" > أول ظهور ل C: 2
آخر ظهور لجافا: 4
< / pre>< / div>
< / div>طرق أخرى:
- int Capacity(): إرجاع سعة القائمة.
- int setSize(): تغيير الحجم الحالي للقائمة.
- يحتوي منطقي على (كائن o) < / span >: تحقق مما إذا كان المتجه يحتوي على الكائن o.
- boolean isEmpty () < / span>: إرجاع true إذا كان فارغا.
- Object[] toArray(): المتجه المحول المحول إلى صفيف من الكائنات.
note:
size() حجم القائمة ونمط Capacity() السعة التي يمكن أن تستوعبها القائمة. لذلك يتم إجراء مسار Vector دائما باستخدام size() وإلا سترى خطأ يفيد بأنك تجاوزت الحجم.
المراجع:
openclassroms ناقلات جافا
javadoc: فئة المتجهات