मेरे पास जावा में लगभग 100,000 कर्मचारियों की एक सूची है। अब मैं सूची से एक विशेष कर्मचारी वस्तु को जल्दी से हटाना चाहता हूं। पूरी सूची को फिर से शुरू किए बिना इसे करने के संभावित तरीके क्या हैं? (यदि मैं प्रत्येक ऑब्जेक्ट को पुन: सक्रिय करता हूं, तो विवरणों की तुलना करें, फिर हटाएं: इस परिदृश्य में बहुत समय लगता है)जावा में विशेष सूची ऑब्जेक्ट को कैसे हटाएं?
उत्तर
आपको ऑब्जेक्ट को तुरंत ढूंढने के साधनों की आवश्यकता है। आप
- एक ArrayList अनुसार क्रमबद्ध किया जा सकता था और उसके बाद से Collections.binarySearch
O(log N)
नोट एक द्विआधारी खोज करते हैं: वास्तव में एक ArrayList से एक तत्व को हटाने जबकि LinkedList निकालने के लिएO(1)
के रूप में, उस पर एक द्विआधारी खोज व्यर्थ यानी होगाO(n)
है बहुत धीमी सेO(N)
- आप कर्मचारी के हैश सेट के बजाय हो सकता था और हटाने
O(1)
परिशोधित किया जाएगा। यदि आप सम्मिलन के आदेश जैसे कुछ आदेश को संरक्षित करना चाहते हैं तो आपLinkedHashSet
का उपयोग कर सकते हैं। - आप ऑब्जेक्ट को व्यवहार्य बना सकते हैं और
enabled
जैसे फ़ील्ड को सेट कर सकते हैं जिसे आप वास्तव में हटाने के बजायfalse
पर सेट करते हैं। आप इसे बाद में एक बैच कार्य के रूप में कुछ समय (रात भर सप्ताह के अंत में या पर) पर निकाल सकते
@TimBiegeleisen SO Quora नहीं है हालांकि https://www.quora.com/Is-it-true-that-after-Brexit-Pluto-will-be-a-planet- इन-द-यूके-दोबारा;) –
अब मैं सूची में से एक विशेष कर्मचारी वस्तु को नष्ट करना चाहते ...
तुम सिर्फ कर सकते हैं List.remove का उपयोग इस
व्यवहार में ऐसा करने के लिए ... जल्दी से, यहां तक कि हालांकि आइटम को हटाने के लिए O(1)
ऑपरेशन हो सकता है, सूची की पूरी लंबाई पर पुनरावृत्ति O(n)
है, और जैसा कि आपने संदेह किया है, उतना तेज़ नहीं है।
मुझे लगता है कि आपकी समस्या बेहतर हैशपैप की शक्ति द्वारा परोसा जाएगा। इसमें लगातार लुकअप और हटाने का समय है। LinkedHashMap कक्षा आपकी आवश्यकताओं के अनुरूप हो सकती है। यह एक लिंक्ड सूची करता है, उसी तरह सम्मिलन आदेश को बनाए रखता है, लेकिन इसमें निरंतर समय सम्मिलन और हटाना भी होता है।
- 1. अवांछित जावा सूची में ऑब्जेक्ट कैसे जोड़ें?
- 2. NHibernate में बाल ऑब्जेक्ट को कैसे हटाएं?
- 3. JSON में ऑब्जेक्ट को कैसे हटाएं?
- 4. जावा: जावा ऑब्जेक्ट को जावा ऑब्जेक्ट में जावा में स्ट्रिंग ऑब्जेक्ट में कैसे परिवर्तित करें?
- 5. postgresql डेटाबेस में अकेले विशेष कॉलम मान को कैसे हटाएं?
- 6. रेगेक्स विशेष वर्ण हटाएं
- 7. जावा में HTML टैग को कैसे हटाएं
- 8. किसी सूची से कमजोर संदर्भ को कैसे हटाएं?
- 9. विशेष जावा टिप्पणी टैग की पूरी सूची
- 10. क्या यह जावा ऑब्जेक्ट सूची
- 11. रेडिस सूची में सभी प्रविष्टियों को हटाएं
- 12. emacs lisp: सूची के तत्व को कैसे हटाएं/हटाएं?
- 13. जावास्क्रिप्ट ऑब्जेक्ट प्रॉपर्टी को कैसे हटाएं?
- 14. नेस्टेड ऑब्जेक्ट विशेषता को कैसे हटाएं
- 15. सी # - सूची से आइटम को कैसे हटाएं?
- 16. सत्यापन सारांश से सूची को कैसे हटाएं
- 17. ऑब्जेक्ट्स की सूची को मानचित्र में कैसे बदलें <ऑब्जेक्ट, ऑब्जेक्ट> जावा 8 लैम्बडास
- 18. जावा: इसे ऊपर/जोड़ते समय सूची से तत्वों को कैसे हटाएं
- 19. जावा में फंक्शन ऑब्जेक्ट
- 20. पायथन में किसी ऑब्जेक्ट के प्रत्येक संदर्भ को कैसे हटाएं?
- 21. जावा- पेड़सेट को सूची में बदलें
- 22. प्रोलॉग में एक सूची से अंतिम तत्व को कैसे हटाएं?
- 23. पायथन में सूची से वर्ग ब्रैकेट को कैसे हटाएं?
- 24. क्लोजर में किसी सूची से डुप्लिकेट को कैसे हटाएं?
- 25. पायथन | सूची में अंतिम आइटम को कैसे हटाएं?
- 26. सूची में पहली और आखिरी वस्तु को कैसे हटाएं?
- 27. जावा - enum में विशेष चरित्र कैसे जोड़ें?
- 28. जावा विशेष वर्णों को बदलकर
- 29. विशेष शेयरपॉइंट सूची
- 30. ऑब्जेक्ट को कॉल करने के बराबर हटाएं (ऑब्जेक्ट)। ऑब्जेक्ट()
UR_object_List.remove (ऑब्जेक्ट) –