मुझे एक मानचित्र की आवश्यकता है जहां मान विभिन्न प्रकार के होते हैं, जैसे पूर्णांक, स्ट्रिंग इत्यादि। जावा के साथ समस्या यह है कि प्राइमेटिव्स Object
एस नहीं हैं जो बताते हैं कि हाइब्रिड शब्दकोश होना संभव नहीं है। मैं इसकी पुष्टि करना चाहता हूं।क्या कोई शब्दकोश है जो विभिन्न डेटा प्रकारों के मान स्वीकार करता है?
उत्तर
आप ऑटोबॉक्सिंग का फायदा उठा सकते हैं और int के बजाय Integer
का उपयोग कर सकते हैं।
इसी प्रकार (Integer
, Double
, Bool
, ...), वस्तु के वारिस ताकि आप एक मानक Map<Object, Whatever>
उपयोग करें और यह पर मनमाने ढंग से सामान फेंक सकता है।
ऐसा लगता है कि आप बस Map<String, Object>
(या जो भी आपका मुख्य प्रकार है) चाहते हैं।
आदिम मूल्यों उचित रूप से बॉक्सिंग की जाएगी:
Map<String, Object> map = new HashMap<String, Object>();
map.put("int", 20);
map.put("long", 100L);
// etc
ध्यान दें कि आदेश मूल्य और Unbox को पुनः प्राप्त करने में यह आप विशिष्ट आवरण प्रकार उल्लेख करना होगा:
// Explicit unboxing
int x = (int) (Integer) map.get("int");
// Implicit unboxing
int y = (Integer) map.get("int");
// USing a method from Number instead
int z = ((Integer) map.get("int")).intValue();
गीज़ जॉन, आप वास्तव में सो नहीं है। मैं एक ही चीज़ पोस्ट करने वाला था। :) –
संख्याओं के लिए एक और विकल्प मानचित्र <स्ट्रिंग, संख्या> –
@ पीटर लॉरी है, ओपी स्ट्रिंग के प्रकार का मूल्य भी चाहता है। संख्या योग्य नहीं है। –
आप कर सकते हैं int
के बजाय Integer
का उपयोग करें।
जब आप जावा में प्राइमेटिव को Map
में डालते हैं, तो उन्हें ऑटो-बॉक्सेड उनके ऑब्जेक्ट फॉर्म में मिलता है। उदाहरण के लिए, एक Map
परिभाषित करता है, तो आप के रूप में है:
Map<Integer, String> myMap = new HashMap<Integer, String>();
तो आप प्रकार int
की पुरातन उपयोग कर सकते हैं, जैसा कि वे स्वत: बॉक्सिंग एक Integer
में हो जाएगा।
अपने मूल प्रश्न का सवाल है, को परिभाषित करने के लिए एक तरह के रूप में Map
:
// using Integer for key type, can be something else
Map<Integer, Object> myMap = new HashMap<Integer, Object>();
तो आप नक्शे में किसी भी जावा वस्तु डाल करने के लिए सक्षम होना चाहिए।
मानचित्र ** ** एक इंटरफेस है, तो' नया नक्शा <पूर्णांक, वस्तु>() है। –
@ द एलिट जेंटलमैन - क्षमा करें, टाइपो –
- 1. पाइथन विभिन्न डेटा प्रकारों के बीच अंतर कैसे करता है?
- 2. जेनेरिक सूचियों या विभिन्न प्रकारों के शब्दकोश
- 3. जैसे '%' स्वीकार नहीं करता है NULL मान
- 4. पार्सर जो स्कैला पहचानकर्ता स्वीकार करता है?
- 5. क्या JQuery समर्थन शब्दकोश (कुंजी, मान) संग्रह करता है?
- 6. क्या SO_RCVTIMEO स्वीकार करता है()?
- 7. एक अच्छा वेब-आधारित ग्रिड क्या है जो एक्सेल क्लिपबोर्ड डेटा स्वीकार करता है?
- 8. क्या कोई संग्रह है जो बिना किसी मूल्य के शब्दकोश की तरह काम करता है?
- 9. क्या कोई टेक्स्ट-टू-स्पीच सॉफ़्टवेयर है जो आईपीए-आधारित फोनेटिक ट्रांसक्रिप्शन स्वीकार करता है?
- 10. क्या कोई एमवीसी वेब ढांचा है जो कई अनुरोध प्रकारों का समर्थन करता है?
- 11. क्या वीबी 6 असंबद्ध डेटा प्रकारों का समर्थन करता है?
- 12. क्या कोई स्थिरता है जो लंबे या पूर्णांक के अधिकतम मान को परिभाषित करता है?
- 13. जावा फ़ंक्शन कैसे लिखें जो एकाधिक डेटा प्रकारों के मान देता है?
- 14. क्या कोई नकली डेटा जेनरेटर है जो एंड्रॉइड के साथ काम करता है?
- 15. एक स्क्रिप्ट बनाएं जो कमांड लाइन तर्क स्वीकार करता है
- 16. HTTP टेस्ट सर्वर जो GET/Post कॉल स्वीकार करता है
- 17. क्या मेमसेट() है जो चार से अधिक पूर्णांक स्वीकार करता है?
- 18. कक्षा प्रकारों का शब्दकोश
- 19. PHP स्ट्रेटोटाइम() फ़ंक्शन जो प्रारूप को स्वीकार करता है?
- 20. क्या कोई जावास्क्रिप्ट ईवेंट है जो ट्रिगर करता है जब कोई HTML तत्व स्क्रॉल करता है?
- 21. वह शब्द क्या है जो गुणों को संदर्भित करता है जो कोई मान स्वीकार नहीं करते हैं (यानी "चेक" और "चयनित")?
- 22. क्या कोई जेनेरिक प्रकार है जो QueryInterface लागू करता है?
- 23. क्या कोई वास्तव में डेटा के टेराबाइट सॉर्ट करता है?
- 24. क्या सी # संपत्ति एकाधिक मान स्वीकार कर सकती है?
- 25. कोई फ़ंक्शन कैसे लिखें जो फ़ंक्शन को कॉल करता है जो डेटा.table को कॉल करता है?
- 26. क्या कोई ईटीएल उपकरण है जो रेल मॉडल के साथ एकीकृत करता है?
- 27. क्या कोई चेकसम एल्गोरिदम है जो इससे "घटाने" डेटा का भी समर्थन करता है?
- 28. विभिन्न प्रकारों पर मोंगोडीबी इंडेक्स
- 29. क्या बिटकमास्क के लिए पूर्णांक और बिट (एन) डेटा प्रकारों के बीच कोई अंतर है?
- 30. क्या मेरे पास सी मैक्रो हो सकता है जो पैरामीटर की अपरिभाषित संख्या स्वीकार करता है?
यह भी देखें http://stackoverflow.com/questions/2001755/using-int-as-a-type-parameter-for-java-util-dictionary – Fortega
आप टिप्पणियों के लिए अपने अधिक डिज़ाइन को साझा करना चाहेंगे। मानचित्र में विभिन्न प्रकार के मूल्यों का उपयोग करके मेरे अनुभव में अक्सर इष्टतम डिज़ाइन से कम का संकेत होता है। –
मैं एक JSON desrializer चाहता हूं जो एक पेड़ बना सकता है, केवल एक दिए गए लक्ष्य वर्ग में परिवर्तित करने के बजाय संदेश पर आधारित है। इसलिए मुझे एक शब्द <स्ट्रिंग, ऑब्जेक्ट> (शब्दकोश या नक्शा जो कुछ भी हो सकता है) या एक सूची