كيفية إزالة العناصر منتهية الصلاحية من HashMap وإضافة المزيد من العناصر في نفس الوقت - Java Timer و TimerTask والعقود الآجلة () - مثال كامل

نشرت: 2021-04-02
كيفية إزالة العناصر منتهية الصلاحية من HashMap وإضافة المزيد من العناصر في نفس الوقت - Java Timer و TimerTask والعقود الآجلة ()

تعد Hashmap و ArrayList و Static Map و Vectors ، وما إلى ذلك من أكثر عناصر إطار عمل مجموعة Java استخدامًا. هناك عدد لا حصر له من السيناريوهات التي يمكنك استخدامها حسب حاجتك.

هذا المثال مثير للاهتمام Java مثال. سنقوم بتنفيذ العملية أدناه على HashMap واحد ().

  • إنشاء كائن crunchifyMap
  • استمر في إضافة عنصر إلى الخريطة كل ثانية والتي انتهت مدة صلاحيتها المحددة على 5 seconds
  • Check من وجود عنصر منتهي الصلاحية مثل ذاكرة التخزين المؤقت كل ثانية delete from map if expired
  • بعد 5 ثوانٍ ، ستحصل always same size always 5 elements حيث تقوم بإضافة وحذف العناصر منتهية الصلاحية كل ثانية

أيضًا إذا كانت لديك below questions ، فأنت في المكان الصحيح:

  • ما هو مثال خريطة منتهية الصلاحية الخاملة
  • خريطة متزامنة مع عنصر مهلة
  • مثال خريطة ذاكرة التخزين المؤقت لجافا
  • Java TimerTask مثال
  • Evictor - مثال على خريطة متزامنة جافا

هيا بنا نبدأ:

النقطة 1

  • إنشاء عنصر مؤقت crunchifyTimer
  • يقوم بجدولة المهمة المحددة CrunchifyReminder() المتكرر ذي التأخير الثابت وهو ثانية واحدة
  • في مهمة مجدولة
    • add عنصر إلى crunchifyMap
    • تحقق من العنصر منتهي الصلاحية من crunchifyMap وحذفه

النقطة 2

  • أثناء عملية addElement()
    • نحن نربط current time لكل عنصر
  • أثناء عملية crunchifyClearExipredElementsFromMap()
    • نحن نتحقق من الوقت الحالي مع وقت العنصر
    • إذا كان فارق التوقيت أكثر من 5 ثوانٍ ، فما عليك سوى حذف العنصر من crunchifyMap

نقطة 3

  • أثناء عملية إضافة وإزالة عنصر الطباعة على وحدة التحكم Eclipse
  • سيتم إزالة العنصر المضاف الأول أولاً وهكذا
  • يرجى التحقق من إخراج وحدة التحكم Eclipse للنتيجة

هنا برنامج Java:

إخراج وحدة التحكم Eclipse:

فقط قم بتشغيل البرنامج أعلاه وسترى النتيجة على النحو التالي.

كيفية إزالة العناصر منتهية الصلاحية من HashMap وإضافة المزيد من العناصر في نفس الوقت - Java Timer و TimerTask والعقود الآجلة () - نتيجة وحدة التحكم

اسمحوا لي أن أعرف إذا كنت تواجه أي مشكلة تعمل فوق برنامج Java.