增强的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());
}
}
}
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());
}
}
}