Java基础之高级(增强的)For循环(foreach)

增强的For循环:

格式:

for(数据类型 变量名 : 被遍历的集合(Collection)或者数组)
{

}

对集合进行遍历:
只能获取元素,但是不能对集合进行操作。

迭代器,除了遍历,还可以进行remove集合中元素的动作。

如果使用 ListIterator 还可以在遍历过程中对集合进行增、删、改、查的动作。

传统的for循化与增强的for循环的区别:

高级for循环有一个局限性,必须有被遍历的目标。

建议在遍历数组时,使用传统 for 循环,因为传统for循环可以定义角标

for(int i = 0;i<arr.length;i++)
{
 
}

传统遍历与高级遍历的演示:

 

import java.util.*;

class ForEachDemo
{
    public static void main(String[] args)
    {
        ArrayList<String> al = new ArrayList<String>();
        
        al.add("abc");
        al.add("cba");
        al.add("bac");
        al.add("cab");
        al.add("bca");
        
        Iterator<String> it = al.iterator();
        while(it.hasNext())
        {
            System.out.println(it.next());
        }
        
        for(Iterator<String> its = al.iterator();its.hasNext();)
        {
            System.out.println(its.next());
        }
        
        //增强的For循环
        for(String str : al)
        {
            System.out.println(str);
        }
        
        int[] intArr = {1,2,3,4,5,6};
        for(int i : intArr)
        {
            System.out.println(i);
        }
        
        //对HashMap的遍历
        HashMap<Integer,String> hm = new HashMap<Integer,String>();
        
        hm.put(0,"aa");
        hm.put(1,"bb");
        hm.put(2,"cc");
        
        Set<Integer> set = hm.keySet();
        for(Integer key : set)
        {
            System.out.println(key + "==" + hm.get(key));
        }
        
        for(Map.Entry<Integer,String> entry : hm.entrySet())
        {
            System.out.println(entry.getKey() + "==" + entry.getValue());
        }
    }
}

 

posted @ 2013-01-28 11:06  陈晓明  阅读(569)  评论(0编辑  收藏  举报