1. 程式人生 > >List的三種遍歷方式

List的三種遍歷方式

package test1;


import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

public class Test07 {

public static void main(String[] args) {
    List<Map<String,Object>> list = new ArrayList<Map<String, Object>>();
   Map<String,Object> map1 = new HashMap<String, Object>();
   List<String> list1 = new ArrayList<String>();
   List<String> list2 = new ArrayList<String>();
   List<String> list3 = new ArrayList<String>();
   List<String> list4 = new ArrayList<String>();
   list1.add("hello word 1");
   list2.add("hello word 2");
   list3.add("hello word 3");
   list4.add("hello word 4");

   map1.put("a",list1);
   map1.put("b",list2);
   list.add(map1);

   Map<String,Object> map2 = new HashMap<String, Object>();
   map2.put("c",list3);
   map2.put("d",list4);
   list.add(map2);
   //第一種方式:
   for (Map<String,Object> map:list) {
       for (String s:map.keySet()) {
           System.out.print("key:"+s+"\t");
           System.out.println("value:"+map.get(s));
       }
   }
   System.out.println("==========第一種方式結束===========");
   //第二種方式:
   for (int i = 0; i < list.size(); i++) {
       Map<String, Object> map = list.get(i);
       Iterator it = map.keySet().iterator();
       while (it.hasNext()) {
           String str = (String) it.next();
           System.out.print("key:"+str+"\t");
           System.out.println("value:"+map.get(str));
       }
   }
   System.out.println("========第二種方式結束=============");
   //第三種方式:
   for (Map<String, Object> map : list) {
       for (Map.Entry<String, Object> m : map.entrySet()) {
           System.out.print("key:"+m.getKey() + "    ");
           System.out.println("value:"+m.getValue());
       }
   }
   System.out.println("========第三種方式結束=============");
}

}

輸出結果:

key:bvalue:[hello word 2]
key:avalue:[hello word 1]
key:dvalue:[hello word 4]
key:cvalue:[hello word 3]
==========第一種方式結束===========
key:bvalue:[hello word 2]
key:avalue:[hello word 1]
key:dvalue:[hello word 4]
key:cvalue:[hello word 3]
==========第二種方式結束===========
key:b    value:[hello word 2]
key:a    value:[hello word 1]
key:d    value:[hello word 4]
key:c    value:[hello word 3]
==========第三種方式結束===========