1. 程式人生 > >總結for循環及for循環增強遍歷數組,list,set和map

總結for循環及for循環增強遍歷數組,list,set和map

循環 string 沒有 htable str arr val aaa entry

一.對於集合

(1)普通for循環

        int[] arr = { 2, 1, 2 };
        for(int i=0;i<arr.length;i++){
            System.out.println(arr[i]);
        }

(2)for循環增強

        int[] arr = { 2, 1, 2 };
        for (int i : arr) {
            System.out.println(i);
        }
        System.out.println("********************");
        
//二維數組 int [][]arr1={{2,1,3},{1,2,5}}; for(int []i:arr1){ for(int j:i){ System.out.println(j); } }

二.對於list,list是一個接口,有很多實現它的類,例如ArrayList,LinkedList,Vector。

(1)使用普通的for循環和叠代器

        List<String> list=new ArrayList<String>();
        list.add(
"aaa"); list.add("bbb"); list.add("ccc"); //普通的遍歷 for(int i=0;i<list.size();i++){ System.out.println(list.get(i)); } System.out.println("****************"); //使用叠代器 Iterator iterator=list.iterator(); while(iterator.hasNext()){ System.out.println(iterator.next()); }

(2)使用for循環增強

        for(String s:list){
            System.out.println(s);
        }

三.對於set接口,有很多實現它的類,HashSet(無序),LinkedHashSet(有序)

(1)使用叠代器。註意set沒有get()方法!!!

        Set<String> set=new HashSet<>();
        set.add("a");
        set.add("b");
        set.add("c");
        Iterator iterator=set.iterator();
        while(iterator.hasNext()){
            System.out.println(iterator.next());
        }

(2)使用for循環增強

        for(String s:set){
            System.out.println(s);
        }

四.對於map接口,有很多實現它的類,HashMap,LinkedHashMap,HashTable。以鍵值對的形式存放

(1)使用叠代器,有兩種方式

        Map<String,String> map=new HashMap<>();
        map.put("1", "aa");
        map.put("2", "bb");
        map.put("3", "cc");
        //方法1:使用叠代器,取keySet()
        Iterator iterator=map.keySet().iterator();
        while(iterator.hasNext()){
            String key=iterator.next().toString();
            String value=map.get(key);
            System.out.println("key="+key+"  value="+value);
        }
        //方法2:使用叠代器,取entrySet()
        Iterator iterator2=map.entrySet().iterator();
        while(iterator2.hasNext()){
            Map.Entry<String, String> entry=(Map.Entry<String,String>)iterator2.next();
            System.out.println(entry.getKey()+"  "+entry.getValue());
        }

(2)增強for循環,對上面2種方法改寫

        //方法1
        for(String s:map.keySet()){
            System.out.println(s+"  "+map.get(s));
        }
        //方法2使用增強for,entrySet()
        for(Map.Entry me:map.entrySet()){
            System.out.println(me.getKey()+"  "+me.getValue());
        }

2

總結for循環及for循環增強遍歷數組,list,set和map