Latest web development tutorials

إطار مجموعات جافا

قبل فترة طويلة في جافا 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 الموروثة مكرر، مما يسمح للاتجاهين تجتاز القائمة وتعديل العناصر.

جميع طرق واجهة listIterator مكرر شريطة المذكورة هنا على سبيل المثال.

كيفية استخدام المقارنة

TreeSet وTreeMap ترتيب وفقا لعنصر التخزين. ومع ذلك، وهذا هو بمقارنة الجهاز محددة بدقة من حيث ما ترتيب.

هذه الواجهة يسمح لنا بطرق مختلفة لفرز مجموعة.

لا. مقارنة بين أساليب وصفت
1 استخدام جافا المقارنة
توفر واجهة مقارنة جميع الطرق المذكورة هنا على سبيل المثال

ملخص

يوفر جافا إطار مجموعات مبرمج مع هياكل البيانات الجاهزة والخوارزميات التلاعب بها.

مجموعة هو كائن التي يمكن أن تعقد ما يشير إلى أشياء أخرى. جمع إعلان واجهة العملية لكل نوع من أنواع جمع لا يمكن أن يؤديها.

مجموعات الطبقات الإطار واجهات في حزمة java.util.