إطار مجموعات جافا
قبل فترة طويلة في جافا 2، يوفر جافا فئة مخصصة. على سبيل المثال: دروس قاموس، المتجهات، المكدس، وخصائص تستخدم لتخزين والتعامل مع مجموعات من الكائنات.
على الرغم من أن هذه الفئات هي مفيدة جدا، لكنهم يفتقرون لذلك، موضوع موحد المركزي. لهذا السبب، استخدم الطريقة الطبقة المتجهات واستخدام فئة خصائص لديه طريقة مختلفة جدا.
تم تصميم إطار مجموعات لتحقيق الأهداف التالية.
- يجب أن يكون إطار الأداء العالي. ويجب أيضا أن يكون مجموعة أساسية (المصفوفات الحيوية، القوائم المرتبطة، والأشجار والجداول تجزئة) التنفيذ الفعال.
- يسمح الإطار لأنواع مختلفة من المجموعات، بطريقة مماثلة مع وجود درجة عالية من العمل المشترك.
- يجب أن يكون الإرشاد والتكيف من مجموعة بسيطة.
ولهذه الغاية، تم تصميم إطار المجموعة الكاملة حول مجموعة من واجهات القياسية. يمكنك استخدام هذه الواجهات القياسية لتحقيقه، مثل: قائمة متصلة، HashSet، TreeSet وما شابه ذلك، بالإضافة يمكنك أيضا تنفيذ جمع الخاصة بك عبر هذه الواجهات.
إطار مجموعات هي بنية موحدة تستخدم لتمثيل والتلاعب مجموعات. يحتوي كل إطار المجموعات التالية:
- واجهة: وهو نوع البيانات مجردة يمثل المجموعة. واجهة تسمح التلاعب مستقلة عن تفاصيل مجموعة من ممثليها. في لغات وجوه المنحى، واجهات تشكل عموما التسلسل الهرمي.
- تنفيذ (الطبقة): هو تحقيق مجموعة من الواجهات. أساسا، فهي هياكل البيانات التي يعاد استخدامها.
- الخوارزمية: بعض وجوه الحسابية المفيدة التي تطبق الواجهة في طريقة جمع من أداء، على سبيل المثال: البحث والفرز. وتسمى هذه الخوارزميات دولة متعددة، فذلك لأن نفس الأسلوب يمكن أن يكون لها تطبيقات مختلفة على واجهة مماثلة.
بالإضافة إلى جمع ويحدد الإطار أيضا عدة واجهات خريطة والطبقات. يتم تخزين الخريطة أزواج مفتاح / قيمة. وعلى الرغم من الخريطة لم مجموعات، لكنها تتكامل تماما في المجموعة.
واجهات جمع
ويحدد إطار المجموعة عددا من الواجهات. يقدم هذا القسم لمحة عامة عن كل واجهة:
لا. | واجهة الوصف |
---|---|
1 | تسمح واجهة جمع لك استخدام مجموعة من الكائنات، هو التسلسل الهرمي الجذر جمع واجهة. |
2 | عناصر واجهة القائمة الموروثة من جمع وتخزين مثيل قائمة مجموعة أمر. |
3 | تعيين ورثت من مجموعة، بل هو مجموعة التي لا تحتوي على عناصر مكررة. |
4 | SortedSet تعيين في خلافة منظم لانقاذ مجموعة. |
5 | خريطة الوحيدة خرائط مفاتيح القيم. |
6 | Map.Entry وثمة عنصر الوصف (الرئيسية / قيمة أزواج) في خريطة. الخريطة هي الطبقة الداخلية. |
7 | SortedMap ورثت من الخريطة، حتى مفتاح تعقد في ترتيب تصاعدي. |
8 | تعداد هذا هو التعريف التقليدي من واجهات والطرق التي يمكنك تعداد (مرة واحدة حصلت على) كائنات في عناصر المجموعة. تم استبدال هذا التقليد من قبل مكرر واجهة. |
مجموعات
يوفر جافا مجموعة من الفئة القياسية بتطبيق واجهة مجموعة. بعض منهم فئات معينة التي يمكن استخدامها، في حين أن البعض الآخر فئات مجردة، ويوفر التنفيذ الجزئي للواجهة.
وتتلخص جمع الصفوف القياسية في الجدول التالي:
لا. | الفئة الوصف |
---|---|
1 | AbstractCollection لتحقيق معظم واجهات جمع. |
2 | AbstractList الميراث في AbstractCollection وحققت أكثر من واجهة قائمة. |
3 | AbstractSequentialList ورثت من AbstractList، فإنه يوفر الوصول إلى عناصر البيانات في سلسلة بدلا من الوصول العشوائي. |
4 | قائمة متصلة ورثت من AbstractSequentialList، فإنه ينفذ قائمة مرتبطة. |
5 | ArrayList من خلال AbstractList الميراث، المصفوفات الحيوية. |
6 | AbstractSet الميراث في AbstractCollection وحققت أكثر من واجهة مجموعة. |
7 | HashSet ورثها AbstractSet، واستخدام جدول تجزئة. |
8 | LinkedHashSet مع النظام التكرار يمكن التنبؤ بها وربطها قائمة التجزئة تعيين الجدول اجهة. |
9 | TreeSet ورثت من AbstractSet، وذلك باستخدام عناصر من النظام الطبيعي للعناصر في النظام. |
10 | AbstractMap لتحقيق أكثر من واجهة الخريطة. |
11 | HashMap HashMap هو جدول التجزئة الذي يقوم بتخزين محتويات أزواج قيمة المفتاح (قيمة المفتاح) رسم الخرائط. HashMap الموروثة AbstractMap، أدرك واجهة الخريطة، Cloneable، java.io.Serializable. |
12 | TreeMap ورثها AbstractMap، واستخدام شجرة. |
13 | WeakHashMap الطبقة AbstractMap الموروثة، واستخدام جدول تجزئة مفاتيح ضعيفة. |
14 | LinkedHashMap ورثت من HashMap، وذلك باستخدام عناصر من النظام الطبيعي من العناصر التي يتم فرزها. |
15 | IdentityHashMap الميراث الطبقة AbstractMap، وذلك باستخدام مرجع المساواة عند المقارنة بين الوثائق. |
في السابق تعليمي لقد نوقشت من قبل الطبقات java.util المحددة في حزمة، على النحو التالي:
لا. | الفئة الوصف |
---|---|
1 | ناقلات الطبقة ناقلات تنفذ مجموعة ديناميكية. وArrayList وما شابه ذلك، ولكن مختلفان. |
2 | كومة المكدس هو فئة فرعية من الحشرات، التي تنفذ مكدس LIFO القياسية. |
3 | قاموس الطبقة القاموس هي فئة مجردة التي تستخدم لتخزين أزواج مفتاح / قيمة، على غرار دعوى جماعية وخريطة. |
4 | جدول هاش جدول هاش هو جزء من java.util الأصلي هو التنفيذ الملموس القاموس. |
5 | خصائص خصائص يرث من جدول هاش. يمثل مجموعة مستمر من الخصائص. كل مفتاح والقيمة المقابلة لها في قائمة الممتلكات هو سلسلة. |
6 | BitSet وهناك فئة Bitset يخلق نوع خاص من مجموعة لعقد قيمة الشيء. BitSet مع حجم المصفوفة سوف تحتاج إلى زيادة. |
وهناك فئة Bitset يخلق نوع خاص من مجموعة لعقد قيمة الشيء. BitSet مع حجم المصفوفة سوف تحتاج إلى زيادة.
خوارزمية جمع
ويحدد إطار مجموعات عدة خوارزميات يمكن استخدامها لجمع ورسم الخرائط. هذه الخوارزميات هي تعرف أساليب ثابتة من الطبقة كمجموعة.
عند محاولة للمقارنة بين أنواع غير متوافقة، ويمكن لبعض وسائل رمي ClassCastException. عند محاولة تعديل مجموعة غير قابل للتعديل، استثناء UnsupportedOperationException.
يحدد جمع ثلاثة متغيرات ثابتة: EMPTY_SET EMPTY_LIST، EMPTY_MAP من. هذه المتغيرات هي ثابتة.
لا. | خوارزمية الوصف |
---|---|
1 | جمع الخوارزميات وهنا لائحة من جميع الخوارزميات. |
كيفية استخدام مكرر
عادة، سوف تحتاج إلى اجتياز مجموعة من العناصر. على سبيل المثال، يتم عرض كل عنصر من عناصر المجموعة.
هل لأنها أسهل طريقة هي استخدام مكرر، هو كائن يقوم بتنفيذ واجهة مكرر أو واجهة ListIterator.
المكررات، بحيث يمكنك إزالة عنصر الحصول على أو تعيين من التداول. ListIterator الموروثة مكرر، مما يسمح للاتجاهين تجتاز القائمة وتعديل العناصر.
كيفية استخدام المقارنة
TreeSet وTreeMap ترتيب وفقا لعنصر التخزين. ومع ذلك، وهذا هو بمقارنة الجهاز محددة بدقة من حيث ما ترتيب.
هذه الواجهة يسمح لنا بطرق مختلفة لفرز مجموعة.
لا. | مقارنة بين أساليب وصفت |
---|---|
1 | استخدام جافا المقارنة توفر واجهة مقارنة جميع الطرق المذكورة هنا على سبيل المثال |
ملخص
يوفر جافا إطار مجموعات مبرمج مع هياكل البيانات الجاهزة والخوارزميات التلاعب بها.
مجموعة هو كائن التي يمكن أن تعقد ما يشير إلى أشياء أخرى. جمع إعلان واجهة العملية لكل نوع من أنواع جمع لا يمكن أن يؤديها.
مجموعات الطبقات الإطار واجهات في حزمة java.util.