-------------
高级for循环
格式:
for(数据类型 变量名 : 被遍历的集合(Collection)或者数组)
{}
作用:
对集合或者数组进行遍历。
与迭代器区别:
高级for循环只能获取集合元素。但是不能对集合进行操作。
迭代器除了遍历,还可以进行remove集合中元素的动作。
如果是用ListIterator,还可以在遍历过程中对集合进行增删改查的动作。
传统for和高级for有什么区别:
高级for有一个局限性。必须有被遍历的目标。
建议在遍历数组的时候,还是希望是用传统for。因为传统for可以定义脚标。
代码示例:
import java.util.*;
class ForEachDemo
{
public static void main(String[] args)
{
ArrayList<String> al = new ArrayList<String>();
al.add("abc1");
al.add("abc2");
al.add("abc3");
//利用高级for遍历:
for(String s : al)
{
System.out.println(s);
}
int[] arr = {3,5,1};
for(int x=0; x<arr.length; x++)
{
System.out.println(arr[x]);
}
for(int i : arr)
{
System.out.println("i:"+i);
}
//高级for在Map上的运用:
HashMap<Integer,String> hm = new HashMap<Integer,String>();
hm.put(1,"a");
hm.put(2,"b");
hm.put(3,"c");
Set<Integer> keySet = hm.keySet();
for(Integer i : keySet)
{
System.out.println(i+"::"+hm.get(i));
}
for(Map.Entry<Integer,String> me : hm.entrySet())
{
System.out.println(me.getKey()+":"+me.getValue());
}
}
}