توضح هذه المقالة إجراء إزالة والوصول إلى عناصر ConcurrentHashMap في Java.
كيفية إزالة عناصر ConcurrentHashMap في جافا؟
يمكن إزالة العناصر المحددة من ' ConcurrentHashMap 'من خلال' يزيل() ' طريقة. لإزالة جميع العناصر مرة واحدة ، فإن ' واضح() 'الطريقة هي أفضل خيار للاختيار.
هناك أيضًا نوعان مختلفان من طريقة 'remove ()':
- ال ' إزالة (مفتاح) 'يحذف الكيان الذي يحتوي على' مفتاح 'من' ConcurrentHashMap '.
- ال ' إزالة (مفتاح ، قيمة) 'يحذف الكيان الذي حدد' مفتاح 'على طول' قيمة 'من' ConcurrentHashMap '.
قم بزيارة كتلة التعليمات البرمجية أدناه للحصول على شرح أفضل:
يستورد java.util.concurrent.ConcurrentHashMap ؛
فصل جذر
{
عام ثابتة فارغ رئيسي ( خيط [ ] أرجس ) // إنشاء طريقة () الرئيسية
{ // إعلان ConcurrentHashMap
فريق ConcurrentHashMap = جديد ConcurrentHashMap ( ) ؛
فريق. يضع ( 'ثور' و 2 ) ؛
فريق. يضع ( 'غريب' و 4 ) ؛
فريق. يضع ( 'هوك' و 6 ) ؛
نظام . خارج . println ( 'ConcurrentHashMap:' + فريق ) ؛
int قيمة = فريق. يزيل ( 'غريب' ) ؛
نظام . خارج . println ( 'القيمة ' + قيمة + ' تم حذفه' ) ؛
نظام . خارج . println ( 'ConcurrentHashMap:' + فريق ) ؛
منطقي نتيجة = فريق. يزيل ( 'هوك' و 6 ) ؛
نظام . خارج . println ( 'هل تمت إزالة الإدخال {Hawkeye = 6}؟ + نتيجة ) ؛
نظام . خارج . println ( 'تم تحديث ConcurrentHashMap:' + فريق ) ؛
فريق. واضح ( ) ؛
نظام . خارج . println ( 'تم تحديث ConcurrentHashMap:' + فريق ) ؛
}
}
وصف كتلة التعليمات البرمجية أعلاه:
- أولاً ، 'خريطة ConcurrentHashMap' المسماة ' فريق '، ثم يتم إدخال البيانات الوهمية بداخله باستخدام' يضع ' طريقة.
- بعد ذلك ، ' يزيل() 'والمفتاح' غريب 'يتم تمريره إليه. تزيل هذه الطريقة الكيان من الخريطة الذي يحتوي على مفتاح 'غريب'.
- بالإضافة إلى ذلك ، اعرض العناصر المتبقية من الخريطة عبر 'ConcurrentHashMap'.
- الآن ، مرر ' مفتاح 'وما يقابل' قيمة 'إلى' يزيل() 'لحذف كيان من' ConcurrentHashMap 'له مفتاح وقيمة معينة.
- بعد ذلك ، اعرض 'ConcurrentHashMap' لترى الفرق بصريًا.
- في النهاية ، استخدم ' واضح() 'لحذف جميع العناصر الموجودة داخل' ConcurrentHashMap '. اعرض أيضًا 'ConcurrentHashMap' على وحدة التحكم في النهاية.
بعد نهاية مرحلة التجميع:
تُظهر اللقطة العناصر التي تمت إزالتها من ConcurrentHashMap.
كيفية الوصول إلى عناصر ConcurrentHashMap في جافا؟
عناصر ' ConcurrentHashMap 'يمكن الوصول إليه باستخدام مجموعات متعددة من الأساليب. المجموعة الأولى تضم ' مجموعة دخول () '،' مجموعة المفاتيح () ' و ' قيم() ' طُرق. يتم استخدامها لاسترداد جميع العناصر دفعة واحدة. باستخدام الطرق المذكورة أعلاه ، يمكن للمبرمج اختيار استرداد جميع ' مفاتيح '،' قيم ' او كلاهما ' مفتاح / قيمة 'تعيين الخريطة.
قم بزيارة الكود أدناه لفهم التطبيق العملي للطرق المذكورة أعلاه:
يستورد java.util.concurrent.ConcurrentHashMap ؛فصل رئيسي {
عام ثابتة فارغ رئيسي ( خيط [ ] أرجس ) // إنشاء طريقة () الرئيسية
{ // إعلان ConcurrentHashMap
فريق ConcurrentHashMap = جديد ConcurrentHashMap ( ) ؛
فريق. يضع ( 'ثور' و 2 ) ؛
فريق. يضع ( 'غريب' و 4 ) ؛
فريق. يضع ( 'هوك' و 6 ) ؛
فريق. يضع ( 'الفهد الأسود' و 8 ) ؛
نظام . خارج . println ( 'ConcurrentHashMap:' + فريق ) ؛
نظام . خارج . println ( 'استرداد المفتاح والقيم:' + فريق. مجموعة الدخول ( ) ) ؛
نظام . خارج . println ( 'استرداد المفاتيح:' + فريق. مجموعة المفاتيح ( ) ) ؛
نظام . خارج . println ( 'استرداد القيم:' + فريق. قيم ( ) ) ؛
}
}
وصف كتلة التعليمات البرمجية أعلاه:
- أولاً ، أنشئ 'ConcurrentHashMap' باسم ' فريق 'وإدراج عناصر متعددة فيه باستخدام' يضع() ' طريقة.
- بعد ذلك ، اعرض 'ConcurrentHashMap' على وحدة التحكم باستخدام الزر ' out.println () ' طريقة.
- ثم استخدم ' مجموعة دخول () 'لاسترداد جميع البيانات الموجودة على الخريطة.
- بعد ذلك ، استخدم ' مجموعة المفاتيح () 'لاسترداد المفاتيح فقط من الخريطة.
- في النهاية ، استخدم ' قيم() 'لاسترداد القيم المرتبطة بكل مفتاح فقط. هذا يعيد القيم فقط في التسلسل.
بعد تنفيذ الكود أعلاه:
في اللقطة أعلاه ، يتم عرض إخراج الطرق المستخدمة أعلاه على وحدة التحكم. ويتم استخدام حدود ملونة مختلفة لإنشاء فصل بصري بين ناتج كل طريقة.
الآن ، المجموعة الثانية تشمل ' يحصل() ' و ' getOrDefault () ' طُرق. تُستخدم هذه الطرق لاسترداد ' مفاتيح ' من ' ConcurrentHashMap '. على سبيل المثال ، قم بزيارة كتلة التعليمات البرمجية أدناه:
يستورد java.util.concurrent.ConcurrentHashMap ؛فصل رئيسي {
عام ثابتة فارغ رئيسي ( خيط [ ] أرجس ) // إنشاء طريقة () الرئيسية
{ // إعلان ConcurrentHashMap
فريق ConcurrentHashMap = جديد ConcurrentHashMap ( ) ؛
فريق. يضع ( 'ثور' و 2 ) ؛
فريق. يضع ( 'غريب' و 4 ) ؛
فريق. يضع ( 'هوك' و 6 ) ؛
فريق. يضع ( 'الفهد الأسود' و 8 ) ؛
نظام . خارج . println ( 'استخدام getOrDefault ():' + القيمة 2 ) ؛
int القيمة 1 = فريق. يحصل ( 'هوك' ) ؛
نظام . خارج . println ( 'المفتاح المسترد للقيمة المحددة هو:' + القيمة 1 ) ؛
int القيمة 2 = فريق. getOrDefault ( 'رومانوف' و 10 ) ؛
نظام . خارج . println ( 'ConcurrentHashMap:' + فريق ) ؛
}
}
شرح الكود أعلاه:
- استخدم نفس ' ConcurrentHashMap 'الذي تم إنشاؤه في كتلة التعليمات البرمجية أعلاه.
- بالإضافة إلى ذلك ، قم بتطبيق ' يحصل() 'وتمرير القيمة التي سيتم استرداد مفتاحها داخل أقواسها.
- علاوة على ذلك ، فإن استخدام ' getOrDefault () 'الطريقة التي تأخذ معلمتين / قيمتين ، القيمة والمفتاح الافتراضي. إذا تم العثور على الكائن المحدد داخل الخريطة ، فسيتم استرداد المفتاح المقابل. وإذا لم يتم العثور على القيمة المحددة ، فسيتم استخدام المفتاح الافتراضي.
- بعد ذلك ، قم بتخزين نتائج كلتا الطريقتين في متغيرات وعرضها على وحدة التحكم لأغراض التصور.
بعد تنفيذ كتلة الكود أعلاه:
تعرض اللقطة أعلاه المفاتيح المتعلقة بالقيم التي تم استردادها وطباعتها على وحدة التحكم.
خاتمة
لإزالة / حذف عناصر محددة من ' ConcurrentHashMap ' ال ' يزيل() يمكن استخدام طريقة ”. باستخدامه ، يمكن للمبرمج حذف عنصر يحتوي على ' مفتاح 'أو المقابلة' قيمة '. مع استخدام ' واضح() '، يتم حذف كل عنصر موجود على الخريطة مرة واحدة. للوصول ، ' مجموعة دخول () '،' مجموعة المفاتيح () ' و ' قيم() 'الطرق المستخدمة. يمكنهم استرداد كل ' مفاتيح / قيم '،' مفاتيح '، و ' قيم ' من ' ConcurrentHashMap ' ذات مرة. لاسترداد مفاتيح محددة فقط ، فإن ' يحصل ' و ' getOrDefault 'الطرق المستخدمة.