刚学Java,在遍历HashMap时不太懂,请问这种遍历如何遍历List<Map<String, Object>>。求高手给个示例地址。还有我打算遍历第一个之后第二次遍历第5个,如何实现啊!!

解决方案 »

  1.   

    List 直接用get(index)方法就好了,你要遍历第五个就get(4);
      

  2.   

    import java.util.*;
    import java.util.Map.Entry;public class test {    public static void main(String[] args) {
            List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
           //在这里也可以用list.get(i)来取得第i个元素
            Iterator it = list.iterator();
            while (it.hasNext()) {
                Map<String, Object> map = (Map) it.next();
                Set<Entry<String, Object>> entrySet = map.entrySet();
                for (Entry<String, Object> entry : entrySet) {
                    //do something...................
                }
            }    }
    }
      

  3.   


     List<HashMap<String,Object>> list = new ArrayList<HashMap<String, Object>>();
            for(int i = 0 ;i < list.size();){
                HashMap<String,Object> temp = list.get(i);
                
                i += 4;
            }
      

  4.   


    正解。使用KeySet遍历所有的Key值。然后通过Key值来遍历值。HashMap遍历的关键点。就是遍历Key值。
      

  5.   

    package com.alaric.test;import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    import java.util.Map;
    import java.util.Map.Entry;
    import java.util.Set;
    /**
     * 
     * @Description :
     * @author alaric    
     * @version 1.0  
     * @created 2012 May 12, 2012 8:31:23 PM
     * @fileName com.alaric.test.Test.java
     */
    public class Test {     public static void main(String[] args) {
            List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
            /**
             * list 可以用for each 来遍历  也可用迭代器来遍历
             */
           for(Map<String, Object> map:list){
            Iterator<String> iterator = map.keySet().iterator();
            while (iterator.hasNext()) {
    String key = iterator.next();
    Object obj = map.get(key);

    }
           }
           /**
             * map 可以用for each 来遍历  也可用迭代器来遍历
             */
           Iterator <Map<String,Object>>it = list.iterator();
            while (it.hasNext()) {
                Map<String, Object> map = (Map<String,Object>) it.next();
                Set<Entry<String, Object>> entrySet = map.entrySet();
                for (Entry<String, Object> entry : entrySet) {
                    //do something...................
                }
            }     }

    }
    建议你好好掌握下j2se基础,比如集合,异常,io,多线程这些基础,基础掌握了,这个问题有很多种做法,而且每种做法的性能也不一样。
    http://www.happyalaric.com  alaric 个人技术博客站欢迎你浏览。