Android - HashMap से मूल्य प्राप्त करें


79

मैंने Android में HashMap पर खोज करने की कोशिश की है, लेकिन समस्या हो रही है:

इस उदाहरण पर विचार करें:

HashMap<String, String> meMap=new HashMap<String, String>();
meMap.put("Color1","Red");
meMap.put("Color2","Blue");
meMap.put("Color3","Green");
meMap.put("Color4","White");

अब मैं इसे पुनरावृत्त करना चाहता हूं और प्रत्येक रंग का मूल्य प्राप्त करना चाहता हूं और "टोस्ट" में प्रदर्शित करना चाहता हूं। मैं इसे कैसे प्रदर्शित करूं?



3
@clamp ya मैंने पहले ही android-sdk
Paresh Mayani

1
शायद आपको उपलब्ध विधियों को भी पढ़ना चाहिए keySet(), न कि केवल विवरणों को।
पेंटियम

@ Pentium10 हाशप के बारे में कुछ भी नहीं जानता .... इसलिए सिद्धांत रूप से मुझे कैसे पता चल सकता है .... मदद और समर्थन के लिए btw thanx
परेश मेयानी

एसडीके में इसके तरीकों के बारे में विवरण हैं, आपको जांचना चाहिए और देखना चाहिए कि पूछने से पहले हाशप पर किस तरह के तरीके चलाए जा सकते हैं।
पेंटियम

जवाबों:


107
Iterator myVeryOwnIterator = meMap.keySet().iterator();
while(myVeryOwnIterator.hasNext()) {
    String key=(String)myVeryOwnIterator.next();
    String value=(String)meMap.get(key);
    Toast.makeText(ctx, "Key: "+key+" Value: "+value, Toast.LENGTH_LONG).show();
}

6
ध्यान दें कि पुनरावृत्ति क्रम अपरिभाषित है। यदि आप एक ही क्रम चाहते हैं तो सेट को जोड़ा गया था LinkedHashMap
Key

उपरोक्त कोड केवल "कुंजी" पर ही प्रदर्शित होता है .. लेकिन "मान" के लिए नहीं .. जैसे कि यह केवल "color1", "color2" ... आदि प्रदर्शित करता है। "लाल", "नीला", आदि के बजाय
परेश मेयानी

बस कुंजी के लिए हैशमैप करने के लिए एक अनुरोध करें और आपके पास यह होगा, मैंने अपना कोड अपडेट किया।
पेंटियम

उसी क्रम में लौटने के लिए LinkedHashMap कैसे जोड़ें, कृपया मदद करें।
जॉर्नी

85

Mapउपयोग प्रदर्शित करने के लिए यहां एक सरल उदाहरण दिया गया है :

Map<String, String> map = new HashMap<String, String>();
map.put("Color1","Red");
map.put("Color2","Blue");
map.put("Color3","Green");
map.put("Color4","White");

System.out.println(map);
// {Color4=White, Color3=Green, Color1=Red, Color2=Blue}        

System.out.println(map.get("Color2")); // Blue

System.out.println(map.keySet());
// [Color4, Color3, Color1, Color2]

for (Map.Entry<String,String> entry : map.entrySet()) {
    System.out.printf("%s -> %s%n", entry.getKey(), entry.getValue());
}
// Color4 -> White
// Color3 -> Green
// Color1 -> Red
// Color2 -> Blue

ध्यान दें कि प्रविष्टियाँ मनमाने क्रम में पुनरावृत्त होती हैं। यदि आपको एक विशिष्ट आदेश की आवश्यकता है, तो आप उदाहरण के लिए विचार कर सकते हैंLinkedHashMap

यह सभी देखें

संबंधित सवाल

प्रविष्टियों पर अधिक ध्यान देने पर:

विभिन्न Mapविशेषताओं पर:


पर enum

आप इसके बजाय enumऔर का उपयोग करने पर विचार कर सकते हैं ।EnumMapMap<String,String>

यह सभी देखें

संबंधित सवाल


आयात java.util। *; जोड़ा जाना चाहिए
दुरई अमूथन।

यदि आप केवल मान चाहते हैं, तो यह उत्तर स्पष्ट रूप से अधिक समझ में आता है
E.Akio

7

यह कोई चेतावनी के साथ!

    HashMap<String, String> meMap=new HashMap<String, String>();
    meMap.put("Color1","Red");
    meMap.put("Color2","Blue");
    meMap.put("Color3","Green");
    meMap.put("Color4","White");

    for (Object o : meMap.keySet()) {
        Toast.makeText(getBaseContext(), meMap.get(o.toString()),
                Toast.LENGTH_SHORT).show();
    }

5
HashMap<String, String> meMap = new HashMap<String, String>();
meMap.put("Color1", "Red");
meMap.put("Color2", "Blue");
meMap.put("Color3", "Green");
meMap.put("Color4", "White");

Iterator myVeryOwnIterator = meMap.values().iterator();
while(myVeryOwnIterator.hasNext()) {
    Toast.makeText(getBaseContext(), myVeryOwnIterator.next(), Toast.LENGTH_SHORT).show();
}


2
HashMap<String, String> meMap=new HashMap<String, String>();
meMap.put("Color1","Red");
meMap.put("Color2","Blue");
meMap.put("Color3","Green");
meMap.put("Color4","White");
Iterator iterator = meMap.keySet().iterator();
while( iterator. hasNext() ){
    Toast.makeText(getBaseContext(), meMap.get(iterator.next().toString()), 
    Toast.LENGTH_SHORT).show();
}

2

मेरे लिए यह काम:

HashMap<String, String> meMap=new HashMap<String, String>();
meMap.put("Color1","Red");
meMap.put("Color2","Blue");
meMap.put("Color3","Green");
meMap.put("Color4","White");

Iterator iterator = meMap.keySet().iterator();
while( iterator. hasNext() )
{
    Toast.makeText(getBaseContext(), meMap.get(iterator.next().toString()), 
    Toast.LENGTH_SHORT).show();
}


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.