2011-01-08 14 views
30

सी #का दृष्टांत शब्दकोश <T, U>

Dictionary<String, String> dictionary = new Dictionary<String, String>(); 

जावा में में,

के साथ इस त्रुटियों प्रकार शब्दकोश

क्या गड़बड़ हो सकती दृष्टांत नहीं कर सकते?

मेरी कोड में इस प्रकार है

dictionary.put("vZip", jsonUdeals.getString("vZip")); 

साथ मैं यह भी तुच्छ लगता है। लेकिन मैं एक नुकसान में हूँ!
यदि शब्दकोश ऐसा नहीं करता है (जिसे मैं अब तक दृढ़ता से संदेह करता हूं), तो कौन सा डेटा संरचना का उपयोग करना है।

+8

जावा प्रोग्रामिंग का पहला नियम: यदि आपको मानक एपीआई में किसी विशिष्ट श्रेणी या विधि के साथ समस्या है, तो कुछ भी करने से पहले एपीआई दस्तावेज़ पढ़ें अन्य। –

+1

धन्यवाद साथी। आईएमएचओ जो सी # के लिए भी जाता है। :) मैंने वास्तव में इसे देखा है। यह सिर्फ इतना है कि मैंने परिभाषा में सार शब्द को अनदेखा किया। सी # में शब्दकोश है जो बिल्कुल सार तत्व है। इसके अलावा, मैं ग्रहण आईडीई को भी – naveen

उत्तर

67

Dictionary जावा में एक अमूर्त वर्ग है। यह अप्रचलित भी है; आपको इसके बजाय Map इंटरफ़ेस का उपयोग करना चाहिए; कुछ की तरह:

Map<String,String> map = new HashMap<String,String>(); 

ध्यान दें कि HashMap<K,V> एक ठोस वर्ग है, लेकिन हम एक Map<K,V> संदर्भ है, जो एक अंतरफलक है करने के लिए यह बताए जा रहे हैं। यह जावा में अनुशंसित शैली है, क्योंकि यह आपको HashMap को उदाहरण के लिए स्विच करने की अनुमति देता है Hashtable बाद के चरण में, सब कुछ बदलने के बिना।

Map<String, String> dictionary = new HashMap<String, String>(); 
+0

से जावा में जा रहा हूं और मुझे पसंद है :) – naveen

+16

@naveen: बहुत जल्द आप उदास हो जाएंगे उदा। जावा जेनेरिक कैसे बकवास करते हैं, और ऑपरेटर ओवरलोडिंग की कमी इत्यादि ...! –

+0

मैंने जॉन स्कीट को बहुत कुछ पढ़ा और इसलिए मुझे पता है :) हालांकि मुझे विजुअल स्टूडियो की तुलना में एक्लिप्स आईडीई टन बेहतर पसंद है। रिफैक्टरिंग एक और स्तर पूरी तरह से – naveen

3

इस प्रकार एक HashMap का प्रयोग करें। हैशपैप या समवर्ती हैश मैप (यदि सिंक्रनाइज़ेशन की आवश्यकता है जावा 8)

0

शब्दकोश एक विरासत वर्ग है:

संबंधित मुद्दे