طريقة أسرع وأكثر كفاءة للبحث عن زوج القيمة الرئيسية في جافا؟

StackOverflow https://stackoverflow.com/questions/3068309

  •  28-09-2019
  •  | 
  •  

سؤال

تنصل:
هذا السؤال لم يكن المقصود أن يكون جدليا!

ما هي أسرع وأقل طريقة استنزاف للذاكرة للبحث عن زوج القيمة الرئيسية؟ سأقوم بتخزين العناصر في قيمة مثل العلاقة وأحتاج إلى الوصول إليها بسرعة. هل يجب علي استخدام قاعدة بيانات SQLite؟ خريطة؟ علامة تصنيف؟ هشماب؟ يرجى إعطاء بعض المزايا/عيوب استخدام أي طريقة للبحث.

هل كانت مفيدة؟

المحلول

أي قائم على التجزئة Map الهيكل هو السبيل للذهاب طالما دالة تجزئة للمفتاح فعال. يمكنك استخدام معرف القيمة: S كنتيجة للبحث للحفاظ على الذاكرة أثناء البحث.

إذا كانت بياناتك موجودة بالفعل في قاعدة البيانات ، فيمكنك ترك هذا البحث بالكامل إلى RDBMS ، بعد كل شيء أنها صنعت لهذه الأشياء.

نصائح أخرى

إذا كانت بياناتك في الذاكرة ، Mapبشكل عام هم أصدقاؤك - فهي مخصصة لهذا.

لا تستخدم أ Hashtable ومع ذلك. إنه أبطأ بكثير من تطبيقات الخرائط الأحدث. نظرًا لأن أساليبها متزامنة ، والتي ليست مطلوبة معظم الوقت (وعند الحاجة ، هناك بديل أفضل بكثير - انظر أدناه).

في السياق المفرد ، HashMap ربما ستكون على ما يرام.

إذا كنت بحاجة إلى سلامة الخيط ، فاستخدم أ ConcurrentHashMap.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top