2011-04-26 18 views
5

जैसी सूची को पुन: सक्रिय करने के लिए मेरे पास एक विधि है जो List<Map<String,Object>> लौट रही है।सूची <मानचित्र <स्ट्रिंग, ऑब्जेक्ट >>

List<Map<String,Object>> जैसी सूची में फिर से कैसे करें?

+1

http://download.oracle.com/javase/tutorial/java/nutsandbolts/for.html –

+0

क्या आप अधिक विशिष्ट हो सकते हैं? –

+0

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

उत्तर

1

यह काम करना चाहिए:

List<Map<String, Object>> list = ... 

for (Map<String, Object> map : list) 
{ 
    ... 
} 

तुम भी सूची के भीतर तत्वों का उपयोग करने के पाश के लिए एक iterator या get विधि एक भीतर का उपयोग कर सकते हैं।

+0

मुझे लगता है कि आप अपने कोड – fvu

+0

की पहली पंक्ति में सूची सूची का अर्थ है। – npinti

6
List<Map<String, Object>> list = getMyMap();  
for (Map<String, Object> map : list) { 
    for (Map.Entry<String, Object> entry : map.entrySet()) { 
     System.out.println(entry.getKey() + " - " + entry.getValue()); 
    } 
} 
  1. नक्शे की सूची के माध्यम से लूप
  2. हैंडल नक्शा प्रविष्टियों
+0

पर इंगित करने के लिए धन्यवाद कि आपके पास कुछ टाइपो हैं। आप दो बार 'मानचित्र' असाइन कर रहे हैं और सूची के मान 'मानचित्र <स्ट्रिंग, ऑब्जेक्ट>' होना चाहिए। – WhiteFang34

+0

@ व्हाइटफैंग 34: थक्स, संपादित। – timbooo

17

ऐसा लगता है आप कुछ इस तरह की तलाश कर रहे हैं:

List<Map<String, Object>> list; // this is what you have already 

for (Map<String, Object> map : list) { 
    for (Map.Entry<String, Object> entry : map.entrySet()) { 
     String key = entry.getKey(); 
     Object value = entry.getValue(); 
    } 
} 
0
जावा 1.8 के साथ

(8) आप इसे फिर से लिख सकते हैं जैसे:

list.forEach(item -> 
       item.forEach((k, v) -> System.out.println(k + ": " + (String)v) 
    ); 
1
Map<String, String> map = new HashMap<>(); 
    map.put("First", "1"); 
    map.put("Second", "2"); 
    map.put("third", "3"); 
    map.put("four", "4"); 

    // here is the logic 
    for (Map.Entry<String, String> entry : map.entrySet()) { 
     System.out.println(entry.getKey() + " - " + entry.getValue()); 
    } 
संबंधित मुद्दे