जावा मध्ये EnumMap काय आहे?

EnumMap Jum मध्ये Jum मध्ये जोडला जातो 5 मुद्दे, तसेच इतर महत्वाची वैशिष्ट्ये जसे की: बस:, अवशेष, և: जेनेरिक्स:, EnumMap: विशेष आहे नकाशा: अंमलबजावणीची रचना us usi साठी अनुकूलितng: जावा एनम: कसे किल्ली. कारण enum एक प्रकार दर्शवू शकतो (उदाहरणार्थ, वर्ग किंवा इंटरफेस) जावा मध्ये և तो करू शकतो दुर्लक्ष करा () և हॅशकोड () च्या बरोबरीचे आहे, तो सीआत वापरण्यासाठी हॅश मॅप: किंवा इतर कोणताही संग्रह परंतु वापरकर्ता EnumMap: enum की साठी बनवलेले विशेष अंमलबजावणी फायदे आणते. थोडक्यात, EnumMap केवळ नकाशा अंमलबजावणीला enum की साठी ऑप्टिमाइझ करते. Javadoc Enum नुसार, हे अॅरे द्वारे केले जाते, आणि सामान्य ऑपरेशन्समुळे कायमस्वरूपी वेळ येते.

म्हणून जर तुम्ही उच्च दर्जाच्या नकाशाचा विचार करत असाल, EnumMap: अकाउंटिंग डेटासाठी योग्य निवड असू शकते. आम्ही आमच्या लेखात जावा एनमची अनेक उदाहरणे आधीच पाहिली आहेत
जावा एनमची 10 उदाहरणे և वापरणे: स्ट्रिंग सेफ म्हणून सिंगलटनची यादी करा, मध्ये: या जावा ट्यूटोरियल मध्ये, आम्ही वापराची सोपी उदाहरणे पाहू EnumMap: जावा मध्ये.

संबंधित पोस्ट EnumMap և HashMap between मधील फरक ते पुरोगामी म्हणून ओळखले जाऊ लागले जावा संग्रह मुलाखत प्रश्न և बहुतेक जावा IDEs, जसे की Eclipse և Netbeans, EnumMap वापरण्यास सुचवतील जर तुम्ही त्यांच्या कोड अपग्रेड ऑफरचा भाग म्हणून हॅशमॅपच्या संयोगाने Enum की वापरत असाल.

जावा मध्ये EnumMap सामर्थ्य.

लक्षात ठेवण्यासाठी येथे काही महत्वाचे मुद्दे आहेत: EnumMap: जावा मध्ये, जे वापरताना देखील उपयुक्त आहे EnumMap: संकलन दरम्यान तार्किक त्रुटी टाळण्यासाठी कूटबद्धीकरण.
1. वापरलेल्या सर्व की EnumMap: समान असावे Enum प्रकार: जे निर्मिती दरम्यान निर्दिष्ट केले आहे EnumMap: जावा मध्ये. उदाहरणार्थ, जर तुम्ही दोन वेगवेगळ्या enums ची वेगवेगळी enum उदाहरणे वापरू शकत नाही.
2: EnumMap: आहे: संकलित आदेश दिले և ते त्यांच्या चाव्याच्या नैसर्गिक क्रमाने साठवले जातात (की चा नैसर्गिक क्रम म्हणजे enum प्रकारात enum स्थिरांक घोषित केलेला क्रम). आपण एक एक करून पुनरावृत्ती करून याची पुष्टी करू शकता EnumMap: जावा मध्ये.
3. पुनरावृत्ती करणारे EnumMap: आहेत: अयशस्वी वेगवान कलाकार, अगदी समान समवर्ती हॅश मॅप:, throw फेकू नका समवर्ती सुधारणा अपवाद: change त्यावर बदलाचा परिणाम दाखवू शकत नाही EnumMap: पुनरावृत्तीच्या प्रक्रियेत.
4. आपण स्थापित करू शकत नाही रिक्त आतल्या चाव्या EnumMap: जावा मध्ये. EnumMap: परवानगी देत ​​नाही रिक्त चावी फेकणे NullPointerException:, त्याच वेळी शून्य मूल्यांना परवानगी आहे.
5: EnumMap: हे सिंक्रोनाइझ केलेले नाही पाहिजे समक्रमित मी:प्रति वर्ष एकाच वेळी किंवा मल्टीफिलामेंट वातावरणात वापरण्यापूर्वी. आपण जावा मध्ये एक सिंक्रोनाइज्ड नकाशा देखील तयार करू शकता EnumMap: वापरून सिंक्रोनाइझ केले Collections.synchronizedMap () पद्धत – जावाडोकच्या अनुसार हे निर्मिती दरम्यान केले पाहिजे EnumMap: जावा मध्ये अपघाती अतुल्यकालिक प्रवेश टाळण्यासाठी.

6: EnumMap बहुधा देते पेक्षा चांगली कामगिरी: हॅश मॅप: जावा मध्ये. म्हणून आपण enum की वापरण्याची योजना आखल्यास EnumMap निवडा.



जावा मध्ये EnumMap कसे वापरावे – EnumMap उदाहरण:

या विभागात आपण पाहू कसे वापरावे EnumMap: जावा मध्ये EnumMap तयार करणे, EnumMap मध्ये ऑब्जेक्ट टाकणे, EnumMap वरून वस्तू मिळवणे यासारख्या साध्या उदाहरणांसह EnumMap आकार शोधा पुनरावृत्ती EnumMap वर, आरामासाठी EnumMap प्रिंट करा, तपासा EnumMap: एक विशिष्ट की ը मूल्य किंवा नाही և इ.


या सर्व क्रिया नकाशाच्या इतर अंमलबजावणी सारख्या आहेत, जसे की: हॅश मॅप: knowledge विशेष ज्ञानाची आवश्यकता नाही, परंतु कोणत्याही चुका टाळण्यासाठी मागील विभागात चर्चा केल्याप्रमाणे EnumMap साठी विशिष्ट सर्व मुद्दे लक्षात ठेवणे चांगले आहे.
आयात java.util.EnumMap:;
आयात java.util.Iterator:;

/ **
* जावा मध्ये EnumMap कसे वापरावे हे दाखवण्यासाठी जावा प्रोग्राम
* जर मुख्य ऑब्जेक्ट Enum असेल तर EnumMap उत्तम कामगिरीसाठी चांगले आहे.

* नेटबीन्स և एक्लिप्स सारखे बहुतेक IDEs तुम्हाला हॅशमॅप ऐवजी EnumMap वापरण्याची सूचना देतात

* किंवा मुख्य ऑब्जेक्ट Enum असेल तेव्हा नकाशाची इतर कोणतीही अंमलबजावणी.

*

* J लेखक जावरे यांनी भेट दिली:
* /


सार्वजनिक: श्रेणी: EnumMapExample:{

सार्वजनिक: गणना करा: राज्य:{
नवीन, VA UN BUY, WAITING, END;
}

सार्वजनिक: स्थिर रिक्त मुख्य:(स्ट्रिंग: कोश[]) {

// जावा EnumMap उदाहरण 1. EnumMap java मध्ये enum प्रकार STATE म्हणून की सह तयार करा
EnumMap:<राज्य, स्ट्रिंग:>: राज्य नकाशा =: नवीन: EnumMap:<राज्य, स्ट्रिंग:>:(राज्य.श्रेणी:);

// जावा EnumMap उदाहरण 2:
// EnumMap मध्ये जावा मध्ये मूल्य ठेवा
// आम्ही एनम की त्यांच्या नैसर्गिक ऑर्डरपेक्षा वेगळ्या क्रमाने ठेवतो
राज्य नकाशाठेवा:(राज्य.VA UN BUY:, “कार्यक्रम कार्यरत आहे का”);
राज्य नकाशाठेवा:(राज्य.थांबा, “कार्यक्रम कार्यक्रम प्रतीक्षेत आहे”);
राज्य नकाशाठेवा:(राज्य.नवीन:, “फक्त कार्यक्रम नुकताच तयार केला गेला आहे”);
राज्य नकाशाठेवा:(राज्य.हे संपलं, “कार्यक्रम कार्यक्रम संपला”);

// जावा EnumMap उदाहरण 3:
// जावा मध्ये EnumMap प्रिंट आकार
प्रणाली:,बाहेर:,छापलेले(“EnumMap आकार जावा.” + राज्य नकाशा.आकार:());

// जावा EnumMap उदाहरण 5:
// जावा EnumMap मुद्रणाने EnumMap नैसर्गिकरित्या मुद्रित केले पाहिजे
// एनम की (ज्या क्रमाने ते घोषित केले जातात)
प्रणाली:,बाहेर:,छापलेले(“EnumMap:” + राज्य नकाशा:);

// जावा EnumMap उदाहरण 5:
// जावा मध्ये EnumMap कडून मूल्य मिळवा
प्रणाली:,बाहेर:,छापलेले(“EnumMap की.” + राज्य.नवीन: +:“मूल्य:” + राज्य नकाशा.मिळवा:(राज्य.नवीन:));

// जावा EnumMap उदाहरण 6:
// जावा EnumMap वर डुप्लिकेट
संवादक:<राज्य:>: enumKeySet = राज्य नकाशा.कीसेट:(),पुनरावृत्ती:();
दरम्यान:(enumKeySet.पुढील आहे()) {
STATE currentState = enumKeySet.पुढे();
प्रणाली:,बाहेर:,छापलेले(“की.” + वर्तमान स्थिती + “मूल्य:” + राज्य नकाशा.मिळवा:(सद्य स्थिती));
}

// जावा EnumMap उदाहरण 7. EnumMap मध्ये विशिष्ट की आहे का ते तपासा
प्रणाली:,बाहेर:,छापलेले(“स्टेटमॅपकडे आहे का?” + राज्य.नवीन: +: “:”
+ राज्य नकाशा.की समाविष्ट आहे:(राज्य.नवीन:));

// जावा EnumMap उदाहरण 8. EnumMap मध्ये विशिष्ट मूल्य आहे का ते तपासा
प्रणाली:,बाहेर:,छापलेले(“स्टेटमॅपकडे आहे का?” + राज्य.नवीन: +: “:” + राज्य नकाशा.मूल्य समाविष्ट करते:(रिक्त));

}

}

परिणाम:
आकार: EnumMap: जावा मध्ये. 4:
EnumMap:: {नवीन = फक्त कार्यक्रम नुकताच तयार करण्यात आला आहे, VAR UN O = M = कार्यरत आहे, SPASO = M = कार्यक्रम प्रतीक्षेत आहे, END = = कार्यक्रम संपला आहे}

EnumMap: की: नवीन मूल्य. फक्त कार्यक्रम नुकताच तयार करण्यात आला आहे
की: नवीन मूल्य. फक्त कार्यक्रम नुकताच तयार करण्यात आला आहे
की रन्युंग व्हॅल्यू आहे. कार्यक्रम कार्य करतो
WAIT मूल्य आहे. कार्यक्रमाची प्रतीक्षा आहे
की END मूल्य आहे. कार्यक्रम संपला आहे
स्टेटमॅप आहे का? नवीन: ते बरोबर आहे

स्टेटमॅप आहे का? नवीन: बनावट

थोडक्यात, आपण enum की वापरत असल्यास किंवा enum की वापरू शकता हॅशमॅपपेक्षा EnumMap ला प्राधान्य द्या किंवा नकाशाची इतर कोणतीही अंमलबजावणी कारण: EnumMap: a एक विशेष नकाशा प्रदान करते the एकूण नकाशापेक्षा अधिक चांगली कामगिरी प्रदान करते. या जावा ट्यूटोरियल मध्ये आम्ही पाहिले: जावा मध्ये EnumMap काय आहे?Java जावा मध्ये EnumMap बद्दल ठळक मुद्दे, काही उदाहरणांसह EnumMap कसे वापरावे.

इतर: जावा संग्रह शिकवण्या Javarevisited ब्लॉग वरून.