2014-10-21 5 views
11

में HashMap में स्ट्रिंग में कनवर्ट करने मेंकैसे जावा

String value = "{first_name = naresh,last_name = kumar,gender = male}" 

Map<Object,Object> = { 
         first_name = naresh, 
         last_name = kumar, 
         gender = male 
         } 

थे कुंजी first_name,last_name,gender हैं हैश मानचित्र में एक स्ट्रिंग में बदल सकते हैं और मूल्यों naresh,kumar,male

नोट कर रहे हैं कैसे: कुंजी कर सकते हैं city = hyderabad

कोई भी सामान्य PPproach की सराहना की जाएगी।

+0

स्ट्रिंग से "कुंजी, मान" जोड़े निकालें और मानचित्र बनाएं। – Maroun

+1

क्या आपने कुछ भी कोशिश की? – superbob

+0

तर्क विवरण से संबंधित प्रश्न अत्यधिक निराश हैं क्योंकि उपरोक्त और इसके दूर विषय के लिए कई समाधान हो सकते हैं। जिस तरह से आपने अपना दृष्टिकोण किया था, आप कुछ कोशिश कर रहे थे या कहीं अटक गए थे, तो हम – vikeng21

उत्तर

27

यह एक समाधान है। यदि आप इसे अधिक सामान्य बनाना चाहते हैं, तो आप हमें StringUtils लाइब्रेरी बना सकते हैं।

String value = "{first_name = naresh,last_name = kumar,gender = male}"; 
value = value.substring(1, value.length()-1);   //remove curly brackets 
String[] keyValuePairs = value.split(",");    //split the string to creat key-value pairs 
Map<String,String> map = new HashMap<>();    

for(String pair : keyValuePairs)      //iterate over the pairs 
{ 
    String[] entry = pair.split("=");     //split the pairs to get key and value 
    map.put(entry[0].trim(), entry[1].trim());   //add them to the hashmap and trim whitespaces 
} 

अगर आप StringUtils जो apache.commons.lang पैकेज में शामिल है का उपयोग कर रहे उदाहरण के लिए आप

value = value.substring(1, value.length()-1); 

value = StringUtils.substringBetween(value, "{", "}"); 

करने के लिए स्विच कर सकते हैं।

+0

उत्तर में उत्तर प्रदान करें ओपी के सीखने का मौका मार डालो। यह उनकी मदद नहीं कर रहा है लेकिन ओपी को एक ही तरह के प्रश्न पूछने के लिए प्रोत्साहित करता है। –

+0

इसके लिए खेद है, लेकिन मेरा इरादा यहां था, अगर मुझे नहीं पता कि स्ट्रिंग में कुंजी क्या हैं। –

+1

आपको चाबियाँ नहीं जाननी चाहिए। मेरा कोड हमेशा कुंजी के बराबर चिह्न के बाईं तरफ का उपयोग करता है। क्या आपने कोशिश की? – kai

7
String value = "{first_name = naresh,last_name = kumar,gender = male}" 

चलो शुरू

  1. String >> first_name = नरेश, last_name = कुमार, लिंग = पुरुष
  2. स्प्लिट 3 तत्व
  3. की String , से >> सरणी से { और } निकालें चलो
  4. अब आपके पास array है 3 तत्व
  5. I array टेरेट करें और प्रत्येक तत्व को =
  6. Map<String,String> बनाएं प्रत्येक भाग को = से अलग करें। Key और दूसरा भाग Value
+0

शायद map.get (trimmedString) को कॉल करते समय भ्रमित न होने के लिए स्ट्रिंग को ट्रिम करें – user

+0

रीप्ले के लिए धन्यवाद, लेकिन अगर मैंने 100 कुंजी और मूल्य जोड़े कहा है .. –

+0

@Nareshkumar इसके साथ कोई समस्या नहीं है। –