मैं हैशमैप कुंजी का नाम बदलने का एक तरीका ढूंढ रहा हूं, लेकिन मुझे नहीं पता कि जावा में यह संभव है या नहीं।क्या हैशमैप कुंजी का नाम बदलना संभव है?
उत्तर
तत्व को हटाने का प्रयास करें और इसे नए नाम से दोबारा डालें।
Object obj = map.remove("oldKey");
map.put("newKey", obj);
+1। और पढ़ने के लिए सबसे सरल है 'map.put ("newKey", map.remove ("oldKey")); और प्रदान किया गया है' oldKey' –
जहां तक पठनीयता का सवाल है, मैं असहमत हूं, मैं व्यक्तिगत रूप से स्पष्ट रूप से देखना पसंद करता हूं मानचित्र से एक वस्तु हटा दी जाती है, और फिर जोड़ा जाता है। और चूंकि ओपी जावा के लिए काफी नया प्रतीत होता है, इसलिए मैंने इसे इस तरह से रखने का फैसला किया। प्रदर्शन के लिए हालांकि, आपका संस्करण बिल्कुल पसंद किया गया है (क्योंकि मुझे नहीं लगता कि संकलक मेरे संस्करण को आपके तरीके से अनुकूलित करेगा)। –
जावैक 1.8.0_45 के लिए, एक-पंक्ति संस्करण दो बाइटकोड छोटा है, जो मुझे आश्चर्यचकित करता है। जेनेरिकों के साथ अधिक परेशानियों से आप इसे 'ओबीजे' को 'रख' के बिना पास नहीं कर सकते हैं या इसे किसी अन्य प्रकार के रूप में घोषित नहीं कर सकते हैं, लेकिन निश्चित रूप से सीधे 'निकालें' के परिणाम को पारित कर सकते हैं। –
आप हैशपैप कुंजी का नाम नहीं बदलते हैं, आपको नई कुंजी के साथ एक नई प्रविष्टि डालना होगा और पुराने को हटा देना होगा।
कुंजी है, जो एक नया कुंजी के लिए, नाम बदलने की आवश्यकता के मान असाइन करें: अपने नक्शे में कुंजी String
कर रहे हैं मान लिया जाये, इसे उस तरह से प्राप्त किया जा सकता है। और पुरानी कुंजी को हटा दें।
hashMap.put("New_Key", hashMap.get("Old_Key"));
hashMap.remove("Old_Key");
आप नाम नहीं बदल सकते/hashmap कुंजी एक बार जोड़ा संशोधित करते हैं।
कुंजी को हटाने/हटाने और नई कुंजी और मूल्य जोड़ी डालने का एकमात्र तरीका है।
कारण: hashmap आंतरिक कार्यान्वयन में HashMap कुंजी संशोधक अंतिम के रूप में चिह्नित।
static class Entry<K ,V> implements Map.Entry<K ,V>
{
final K key;
V value;
Entry<K ,V> next;
final int hash;
...//More code goes here
}
संदर्भ के लिए: HashMap
hashMap.put("New_Key", hashMap.remove("Old_Key"));
यह तुम क्या चाहते हो जाएगा लेकिन, आप उस कुंजी का स्थान बदल गया है देखेंगे।
@Vins दस्तावेजों को फिर से कृपया यह नेतृत्व wiil (उदाहरण के लिए map.entrySet() का उपयोग करें) –
मेरी बुरा जांचें, मैंने अपनी टिप्पणी हटा दी है और इसके लिए वोट दिया है। उसके लिए माफ़ करना। – Vins
- 1. मेकर्ट - क्या कुंजी आकार बदलना संभव है?
- 2. क्या फायरबर्ड में एक टेबल का नाम बदलना संभव है?
- 3. किसी इकाई का कुंजी नाम बदलना
- 4. हैशमैप
- 5. क्या svndumpfilter द्वारा भंडार में dir नाम बदलना संभव है?
- 6. क्या django admin site में मॉडल नाम बदलना संभव है?
- 7. नेमस्पेस का नाम बदलना
- 8. हैशमैप को हैशमैप
- 9. क्या ईएफ माइग्रेशन "माइग्रेशन" फ़ोल्डर का स्थान बदलना संभव है?
- 10. जावा हैशमैप
- 11. क्या रेल माइग्रेशन का उपयोग कर इंडेक्स का नाम बदलना संभव है?
- 12. कुशल हैशमैप
- 13. जेफ्रीचार्ट: क्या बार रंग बदलना संभव है?
- 14. क्या रेटिंगबार दिशा को बदलना संभव है?
- 15. एक्सएनए कुंजी गणना में बैकटिक (`) कुंजी का नाम क्या है?
- 16. स्क्रॉलबार का रंग बदलना संभव है?
- 17. क्या .net से कंसोल विंडो का आइकन बदलना संभव है?
- 18. क्या लिनक्स पर नामित पाइप का आकार बदलना संभव है?
- 19. क्या एंड्रॉइड में चयनित टैब का रंग बदलना संभव है?
- 20. क्या आंतरिक जुड़ने के दौरान एक शामिल कॉलम का नाम बदलना संभव है?
- 21. क्या jQuery सत्यापन पर त्रुटि वर्ग का नाम बदलना संभव है?
- 22. फेसबुक एप्लिकेशन का नाम बदलना
- 23. TFS2010 टीम प्रोजेक्ट का नाम बदलना
- 24. क्या P4Eclipse के भीतर P4TICKET को बदलना संभव है?
- 25. क्या सूची को बिना किसी रिकर्सन के कुंजी के घोंसला वाले ताना में बदलना संभव है?
- 26. ग्रहण में किसी प्रोजेक्ट का नाम बदलना फ़ाइल सिस्टम पर प्रोजेक्ट फ़ोल्डर का नाम बदलना चाहिए?
- 27. क्या PHP में array_shift() का उपयोग करना संभव है और कुंजी प्राप्त करना संभव है?
- 28. sendEmail का उपयोग करते समय पते से बदलना संभव है?
- 29. शब्दकोश में एक कुंजी का नाम बदलें
- 30. क्या YQL में फ़ील्ड को उपनाम या नाम बदलना संभव है?
गोश, मुझे उम्मीद नहीं है। कुंजी/मूल्य जोड़ी को हटाने और पुन: प्रस्तुत करने के तरीके की तरह लगता है। ध्यान दें कि आप सामान्य रूप से मानचित्र में वैसे भी संदर्भों को संभालते हैं। –
कृपया हैश प्रविष्टि की कुंजी को संशोधित न करें! यदि आप भाग्यशाली हैं, तो आप इसे उसी हैशकोड के साथ बदल देंगे और आप कुछ हद तक पागल हो जाएंगे कि क्या हुआ; यदि आप दुर्भाग्यपूर्ण हैं, तो आप एक प्रविष्टि के साथ समाप्त हो जाएंगे जो नहीं मिल सकता है (ठीक है, पूरी तालिका के अगले पुनर्निर्माण तक नहीं)। निकालें/पुन: सम्मिलित करना बहुत अधिक है, और बहुत सस्ता होना चाहिए (यह सब संदर्भ है, सब के बाद)। –