मुझे एक स्थिर Map
बनाने की आवश्यकता है जो String
को int
की सरणी में दिया गया है।स्ट्रिंग का स्थैतिक मानचित्र कैसे बनाएं -> ऐरे
दूसरे शब्दों में, मैं की तरह कुछ का निर्धारण कैसे करेंगे:
"fred" -> {1,2,5,8}
"dave" -> {5,6,8,10,11}
"bart" -> {7,22,10010}
... etc
वहाँ एक आसान तरीका जावा में यह करने के लिए है?
और यदि संभव हो, तो मैं static
स्थिरांक String
और int
मानों दोनों के लिए उपयोग करना चाहता हूं।
संपादित करें: स्पष्ट करने के लिए मैं मूल्यों के लिए static
स्थिरांक द्वारा क्या मतलब है, और देने के लिए क्या है तो सही कोड होने के लिए देखते हैं, यहाँ समाधान पर मेरी पहली वार है:
public final static String FRED_TEXT = "fred";
public final static String DAVE_TEXT = "dave";
public final static int ONE = 1;
public final static int TWO = 2;
public final static int THREE = 3;
public final static int FOUR = 4;
public final static HashMap<String, int[]> myMap = new HashMap<String, int[]>();
static {
myMap.put(FRED_TEXT, new int[] {ONE, TWO, FOUR});
myMap.put(DAVE_TEXT, new int[] {TWO, THREE});
}
ध्यान दें, ये नाम वह नहीं हैं जो मैं वास्तव में उपयोग कर रहा हूं। यह सिर्फ एक विकसित उदाहरण है।
आह, लेकिन मुझे एक सुपर-क्लास में मानचित्र घोषित करने की आवश्यकता है, लेकिन इसे उप-वर्ग में पॉप्युलेट करना है। क्षमा करें, मुझे पता है कि यह मेरे मूल प्रश्न में नहीं था। मुझे अभी भी इस मामले में 'स्थिर 'ब्लॉक की आवश्यकता होगी? – DuncanKinnear
लेकिन चूंकि यह 'स्थिर 'है, यह" कन्स्ट्रक्टर के बाद निर्माण पर निष्पादित कोड का एक ब्लॉक "कैसे हो सकता है? मैंने सोचा था कि जब आप 'स्थिर' कोड का संदर्भ देते हैं तो निर्माण नहीं होता है। – DuncanKinnear
@ डंकनकिन्नर उदाहरण स्थिर है, लेकिन ब्लॉक नहीं है। ब्लॉक अज्ञात वर्ग का एक उदाहरण ब्लॉक है जिसे स्थिर रूप से तत्काल किया जा रहा है। अनाम वर्ग 'हैश मैप' का उप-वर्ग है, जिसमें से केवल एक उदाहरण मौजूद होगा ('नया' केवल एक बार कहा जाता है) – Bohemian