मैं एक से अधिक 37K मदों की एक सूची है, और मैं पहले से ही hashCode()
, equals()
लागू किया है, तो मुझे आश्चर्य है कि Collections.binarySearch()
प्रदर्शन और तेजी से indexOf()
विधि में सुधार कर सकते हैं।Collections.binarySearch() बनाम सूची indexOf()
उत्तर
यदि आपका संग्रह सॉर्ट किया गया है, तो binarySearch()
indexOf()
के ओ (एन) के विपरीत ओ (लॉग एन) होगा और आप निश्चित रूप से एक सुधार देखेंगे।
binarySearch के क्रम में() काम करने के लिए, अपनी सूची अनुसार क्रमबद्ध किया जाना चाहिए। बराबर() और हैशकोड() को सॉर्टिंग के साथ कुछ लेना देना नहीं है। आपकी वस्तुओं को तुलनात्मक होने की आवश्यकता है, या आपके पास एक प्रासंगिक तुलनात्मक होना चाहिए। किसी भी तरह, आप चाहिए प्रकार सूची पहले।
और हाँ, सूची संभालने क्रमबद्ध हो जाता है, तो आप शायद (binarySearch से बेहतर प्रदर्शन प्राप्त होगा) indexOf की तुलना में()।
वास्तव में, मेरे आइटम भी तुलनीय है। –
आप एक HashSet का उपयोग करके भी बेहतर प्रदर्शन प्राप्त होगा। हालांकि, यह और अधिक जगह ले जाएगा।
- 1. indexOf() सूची <object>
- 2. बनाम सूची इटरेटर सूची
- 3. List.empty बनाम सूची() बनाम नई सूची()
- 4. सी # Array.FindAllIndexOf जो FindAll IndexOf
- 5. सूची <T> क्यों है IndexOf() सूची <T> से बहुत तेज है।()?
- 6. ArrayList indexOf() गलत इंडेक्स देता है?
- 7. सूची बनाम CLIPS बनाम Prolog
- 8. अजगर सूची + सूची बनाम list.append()
- 9. सूची + = टपल बनाम सूची = सूची + टपल
- 10. mysql ऑफसेटिंग ऑफसेट (indexOf) मिलता है?
- 11. एफ # - सीक बनाम सरणी बनाम वेक्टर बनाम सूची बनाम जेनेरिक सूची
- 12. जावा सूची बनाम ArrayList
- 13. पायथन सेट बनाम सूची
- 14. क्लोजर सूची बनाम वेक्टर बनाम सेट
- 15. itertools.ifilter बनाम। फ़िल्टर बनाम सूची समझ
- 16. पायथन: सूची बनाम सूची आइटम पर दक्षता
- 17. सूची के रूप में ArrayList बनाम सूची?
- 18. सूची <T> IndexOf() सी # में लागू कैसे किया गया है?
- 19. ईएफ आईसीओलेक्शन बनाम सूची बनाम आईएनयूमेरेबल बनाम IQueryable
- 20. हैश टेबल बनाम हैश सूची बनाम हैश पेड़ बनाम?
- 21. जेनेरिक सूची FindAll() बनाम foreach
- 22. सी #: पैराम कीवर्ड बनाम सूची
- 23. पायथन बनाम सूची वस्तुएं पाइथन
- 24. पायथन numpy सरणी बनाम सूची
- 25. सूची बनाम पायथन सॉर्ट() फ़ंक्शन
- 26. list.item (0) सूची बनाम [0]
- 27. जनरेटर अभिव्यक्ति बनाम सूची समझ
- 28. जेपीए वनटॉनी: सूची बनाम सेट
- 29. छोड़ें सूची बनाम बाइनरी ट्री
- 30. सूची बनाम मानचित्र (सभी तत्वों पर प्रमुख सुरक्षा बनाम मैपिंग)
यह केवल तभी सच है जब संग्रह निरंतर समय-जटिलता यादृच्छिक पहुंच की अनुमति देता है, उदाहरण के लिए ArrayList। यह एक लिंक्डलिस्ट के लिए सच नहीं है। – davmac