الواجهة: أحمر. فئة التنفيذ: الخط الأسود
1. جمع المجموعة
مجموعة
| _____ set (hashset)
| | _____ sortedset (Treeset)
| _____ قائمة (ArrayList ، LinkedList ، Vector)
المجموعة : واجهة الجذر في مستوى المجموعة. لا توفر JDK فئة تنفيذ لهذه الواجهة.
القائمة : منظمة (بترتيب التوظيف) ، يمكن تكرارها ، ولديها مشترك.
المجموعة : غير مرتبة ، غير قابلة للتكرار ، بدون ترجمة.
sortedset : هو واجهة فرعية لواجهة تعيين. يتم طلب العناصر الموجودة في sortedset (بالترتيب الصاعد في الأبجدية).
من خلال طريقة مقارنة الواجهة المماثلة ، يتم تنفيذ العناصر بطريقة منظمة. يجب أن تنفذ جميع العناصر الموضوعة الواجهة المماثلة (أو يتم قبولها بواسطة المقارنة المحددة).
الاختلافات بين فئات التنفيذ لواجهة القائمة :
ArrayList : هو في الأساس صفيف. المواضيع ليست آمنة. الاستعلام (GET/SET) سريع ، إضافة/إزالة (إضافة/إزالة) بطيئة.
LinkedList : أساسا قائمة مرتبطة في اتجاهين. المواضيع ليست آمنة. الاستعلام (GET/SET) بطيء ، إضافة/إزالة سريع.
المتجه : إنه تمامًا مثل ArrayList تمامًا. الفرق الوحيد هو أن المتجه متزامن وآمن مؤشر الترابط.
2. مجموعة الخريطة
الخريطة (hashmap ، hashtable)
| _____ sortedMap (Treemap)
الخريطة : يخزن زوجًا من القيمة الرئيسية ، والذي لا يمكن أن يحتوي على مفاتيح مكررة ، ويمكن أن يكون لها قيم مكررة.
sortedMap : الخريطة الفرعية SortedMap هي خريطة ترتب المفاتيح بترتيب تصاعدي.
الفرق بين hashmap و hashtable و treemap
HashMap : المواضيع ليست آمنة. يمكن أن يكون كل من المفتاح والقيمة لاغية. العناصر مضطربة. الطبقة الأساسية هي بنية بيانات جدول التجزئة.
علامة التجزئة : آمن الخيط. لا مفتاح ولا قيمة يمكن أن تكون فارغة. العناصر مضطربة. الطبقة الأساسية هي بنية بيانات جدول التجزئة.
Treemap : المواضيع ليست آمنة. لا مفتاح ولا قيمة يمكن أن تكون فارغة. يتم طلب العناصر (بالترتيب الأبجدي الصاعد). الطبقة الأساسية هي بنية بيانات الأشجار الثنائية.
3. كيفية تنفيذ المفتاح وتعيين قيم الخريطة دون ازدواجية
الخريطة تضع نفس المفتاح ، ثم تغطي المخطط السابق
خريطة الخريطة = new hashmap () ؛
map.put ("الاسم" ، "Zhang San") ؛
map.put ("name" ، "wangwu") ؛ ------- فعال ، الكتابة فوق السابقة
عندما يضع Set نفس العنصر ، يكون العنصر الأول صالحًا ، ولن يتم وضع العنصر التالي
SET SET = NEW HASHSET () ؛
set.add ("111") ؛ --- فعالة
set.add ("222") ؛ ---- تحكم على أنه موجود بالفعل ولن يتم وضعه
1. Hashmap put and hashset add
نظرًا لأن طريقة ADD () من Hashset تتحول فعليًا إلى استدعاء طريقة PUT () لـ HASHMAP لإضافة أزواج القيمة الرئيسية عند إضافة عنصر تجميع. طريقة PUT () للمكالمات الأولى HashMap .HashCode () لتحديد أن قيمة الإرجاع متساوية. إذا كانت قيمة الإرجاع متساوية ، فإنها تُرجع صحيحًا من خلال مقارنة متساوية. أخيرًا ، يُعتقد أن الكائن الرئيسي متساوٍ بالفعل في HashMap.
2. تريماب وضعت وتضيف Treeset
عندما يتم استدعاء طريقة PUT في Treemap لإضافة قيمة مفتاح ، يتم استدعاء طريقة المقارنة (أو المقارنة) للكائن لمقارنة جميع المفاتيح. إذا تم إرجاع هذه الطريقة 0 ، فإن المفتاحين يعتبران متساويين.
عند إضافة عنصر في Treeset أو Call Compareto أو مقارنة الطريقة لتحديد موضع العنصر ، أي مقارنة بالمقارنة أو المقارنة مع الإرجاع 0 ، والذي يعتبر نفس الموضع ، أي نفس العنصر