मानचित्र और गुणों के बीच अंतर दोनों के रूप में कुंजी-मूल्य जोड़ी है।गुणों का उपयोग कब करें और जावा में मानचित्र कब करें?
उत्तर
की तरह एक "सामान्य" मानचित्र कार्यान्वयन एक नक्शा कोड में सामान्य कुंजी-मान पेयर उपयोग के लिए है के साथ रहने की जरूरत नहीं है, तो। गुणों को आमतौर पर फ़ाइल से कॉन्फ़िगरेशन मानों को संग्रहीत करने और लोड करने के लिए उपयोग किया जाता है। गुणों का अंतर्निहित कार्यान्वयन एक मानचित्र का उपयोग करता है।
गुणों का उपयोग कैसे करें और कब उपयोग करें पर त्वरित ट्यूटोरियल के लिए नीचे दिए गए लिंक को देखें।
http://docs.oracle.com/javase/tutorial/essential/environment/properties.html
प्रॉपर्टी क्लास मानचित्र-इंटरफ़ेस लागू करता है। प्रॉपर्टी क्लास में अपनी सामग्री को स्ट्रीम में सहेजने के तरीके हैं।
नज़र में: http://java.sun.com/j2se/1.3/docs/api/java/util/Properties.html
आप, सामग्री को बचाने HashMap
गुण मुख्य रूप से आधारित विन्यास डेटा और स्थानीयकरण के लिए इस्तेमाल किया, जबकि मानचित्र और अधिक सामान्य प्रयोजन है।
एक गुण वस्तु एक मानचित्र है। उदाहरण के लिए देखें http://java.sun.com/javase/6/docs/api/java/util/Properties.html। अर्थात। गुण वर्ग मानचित्र इंटरफ़ेस लागू करता है।
डॉक्स के अनुसार,
- Map एक अंतरफलक
- Properties है एक वर्ग को लागू करने वाली है कि इंटरफ़ेस
गुण IS-एक मानचित्र जो IS-एक Hashtable है। चाहे यह एक अलग सवाल हो या नहीं - मुझे लगता है कि इसे वास्तव में मानचित्र के माध्यम से मानचित्र प्राप्त करना चाहिए और मानचित्र इंटरफ़ेस को लागू नहीं करना चाहिए।
गुण श्रेणी गुण फ़ाइलों के लिए है - यही कारण है कि इसमें फ़ाइल को पढ़ने के लिए लोड विधियां हैं। इसलिए यदि आप गुण फ़ाइलों के साथ काम कर रहे हैं उदा।
propa = bob
propb = jane
फिर गुणों का उपयोग करें। अन्यथा आप अपना खुद का मानचित्र इंटरफ़ेस बनाना चाहते हैं और एक एप्राइपियेट कार्यान्वयन चुनना चाहते हैं उदा। हैश मैप
मानचित्र इंटरफ़ेस को कार्यान्वित करने वाली कक्षा का उपयोग करें, लेकिन गुण वर्ग नहीं है। गुण वर्ग टूटा हुआ है। चूंकि यह नीचे हैशटेबल है, ऐसे तरीके हैं जो अन्यथा लगातार स्ट्रिंग-टू-स्ट्रिंग मैपिंग को तोड़ देंगे। इसका आविष्कार बहुत आसानी से टूटा हुआ है (गलती से और उद्देश्य पर)। मानचित्र इंटरफ़ेस को लागू करने के लिए और कुछ भी उपयोग करें। यदि आप थ्रेड सुरक्षा के लिए लक्ष्य कर रहे हैं - एक बनाने के लिए Collections.synchronizedMap (myUnsyncdMap) का उपयोग करें।
आदर्श रूप से, अन्य उत्तरों में उल्लिखित 1 या दो विधियों के अलावा दो वर्गों के बीच कोई अंतर नहीं है। हालांकि गुण कार्यान्वयन वास्तव में विचित्र है - नक्शा इंटरफ़ेस से प्राप्त अन्य वर्ग, अधिक सुरक्षित हैं, बेहतर सांख्यिकीय टाइपिंग प्रदान करते हैं और संभवतः तेज़ होते हैं (आपको जो चाहिए वह निर्भर करता है)। कार्यान्वयन का शीघ्रता से अवलोकन ले रहा है (विशेष रूप से जो वर्ग यह से निकला है) यह से बचने के लिए :)
Properties
Map<String,String>
+ कुछ आई/ओ तरीकों के लिए एक Facade है आप को समझाने के लिए पर्याप्त होना चाहिए।
क्या आपको I/O विधियों की आवश्यकता है? इसका इस्तेमाल करें: मत करो।
ए प्रति कुंजी डिफ़ॉल्ट सिस्टम की एक और विशेषता Hashtable
में मौजूद नहीं है। उदा .:
Properties p0 = new Properties();
p0.setProperty("a", "0");
p0.setProperty("b", "1");
Properties p1 = new Properties(p0);
p1.setProperty("a", "10");
assert p1.getProperty("a").equals("10");
assert p1.getProperty("b").equals("1");
assert p1.getProperty("c") == null;
डिफ़ॉल्ट गुणों में डिफ़ॉल्ट रूप से खोजे जाते हैं।
- 1. उदाहरण चर का उपयोग कब करें और गुणों का उपयोग कब करें
- 2. निर्भरता गुणों का उपयोग कब करें
- 3. ट्यूपल का उपयोग कब और कब करें?
- 4. जावा में स्ट्रिंगबिल्डर का उपयोग कब करें
- 5. पाइथन में गुणों का उपयोग कब करें विशेषताएँ बनाम कब उपयोग करें?
- 6. गुणों के बजाय गुणों का उपयोग कब करें?
- 7. टैग/लेबल का उपयोग कब करें और शाखा कब करें?
- 8. गुण और विधियों का उपयोग कब करें?
- 9. Jquery - "यह" कब उपयोग करें और "$ (यह)" कब उपयोग करें?
- 10. जावा - Iterators का उपयोग कब करें?
- 11. क्या "डिस्प्ले का उपयोग कब करें: ब्लॉक कब करें: इनलाइन और कब: इनलाइन-ब्लॉक" और क्यों?
- 12. सी ++ में "नया" और कब नहीं, कब उपयोग करें?
- 13. हाइबरनेट फ़ेचिंग रणनीति - "शामिल" का उपयोग कब करें और "चयन करें" का उपयोग कब करें?
- 14. OSGi EventAdmin का उपयोग कब करें और कब नहीं?
- 15. isInstanceOf का उपयोग कब करें और मैच-केस-स्टेटमेंट (स्कैला में) का उपयोग कब करें?
- 16. घटकों का उपयोग कब करें और वाईआई में एक्सटेंशन का उपयोग कब करें?
- 17. डुप्ली का उपयोग कब करें, और रूबी में क्लोन का उपयोग कब करें?
- 18. वेक्टर का उपयोग कब करें और सी ++ में सरणी का उपयोग कब करें?
- 19. डेटाबेस दृश्यों का उपयोग कब करें और कब नहीं?
- 20. डब्ल्यूसीएफ डेटा सेवाओं का उपयोग कब करें और कब नहीं?
- 21. .mdf और कब .sdf का उपयोग कब करें?
- 22. संग्रह बनाम एकाधिक गुणों का उपयोग कब करें
- 23. reinterpret_cast का उपयोग कब करें?
- 24. Request.RegisterForDispose का उपयोग कब करें?
- 25. Mockito.verify() का उपयोग कब करें?
- 26. का उपयोग कब करें hibernate.connection.provider_class
- 27. $ .extend ({...}) का उपयोग कब करें?
- 28. कीवर्ड का उपयोग कब करें
- 29. ओपनसीएल का उपयोग कब करें?
- 30. QueueUserAPC() का उपयोग कब करें?
प्रतिशोध: गुण आईएस-ए हैशटेबल जो आईएस-ए मानचित्र है। – BalusC