2013-10-25 4 views
24
Map<String, ArrayList<Pair<String, Integer>>> k = new Map<String, ArrayList<Pair<String, Integer>>>(); 

यह लाइन मेरे कोड में है। मैं एक ऐसे मानचित्र को तुरंत चालू करना चाहता हूं जिसमें स्ट्रिंग और इंटेगर्स के जोड़े की एक ऐरेलिस्ट है।मानचित्र को त्वरित नहीं कर सकता ... अच्छा क्यों नहीं?

जोड़ी एक कक्षा है जिसे मैंने लिखा है जो मेरे पैकेज में है।

मैं "मिल प्रकार मानचित्र इन्स्तांत नहीं कर सकता >>();?

क्यों नहीं मेरे लिए उचित लगता है ...

+0

की तरह कुछ की कोशिश करो क्या Map' है '..? एक वर्ग, एक इंटरफ़ेस, एक enum? –

+3

अंतर्निहित 'मानचित्र' एक इंटरफ़ेस है। दाईं ओर एक कार्यान्वयन ठोस वर्ग चुनें। – rgettman

+0

क्या आप एक इंटरफ़ेस को intantiate कर सकते हैं ?? –

उत्तर

42

निर्मित Map एक इंटरफेस है, जो instantiated नहीं किया जा सकता है आप है।

  • ConcurrentHashMap
  • HashMap
  • : इस तरह के रूप में अपने काम के दाईं ओर ठोस वर्ग को लागू करने के बहुत सारे, बीच चयन कर सकते
  • LinkedHashMap
  • TreeMap

और कई अन्य। Javadocs for Map कई प्रत्यक्ष ठोस कार्यान्वयन सूचीबद्ध करता है।

7

इंटरफेस intantiated नहीं जा सकता आप कुछ ठोस वर्ग इंटरफ़ेस को लागू करने का प्रयोग करना होगा इस

Map<String, ArrayList<Pair<String, Integer>>> k = new HashMap<String, ArrayList<Pair<String, Integer>>>(); 
संबंधित मुद्दे