------
Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
高级for循环。
格式
for(数据类型 变量名 ;被遍历的集合(Collection)或者数组)
{
}
对集合进行遍历。
只能获取集合元素。但是不能对集合进行操作。
迭代器除了遍历,还可以进行remove集合中元素的动作。
如果是用ListIterator,还可以在遍历过程中对集合进行增删改查的动作。
传统for和高级for有什么区别呢?(有角标和没角标)
高级for有一个局限性。必须有被遍历的目标。
建议在遍历数组的时候,还是希望是用传统for。因为传统for可以定义脚标。有角标可以对角标进行操作。比如判断
格式
for(数据类型 变量名 ;被遍历的集合(Collection)或者数组)
{
}
对集合进行遍历。
只能获取集合元素。但是不能对集合进行操作。
迭代器除了遍历,还可以进行remove集合中元素的动作。
如果是用ListIterator,还可以在遍历过程中对集合进行增删改查的动作。
import java.util.*;
class ForEachDemo
{
public static void main(String[] args)
{
ArrayList<String> al = new ArrayList<String>();
al.add("aaa");
al.add("bbb");
al.add("ccc");
for(String s : al)//s会挨个指向al集合中的元素
{
//s = "qq";当s指向被改变时,并不会改变集合中的元素。这是局限性,但迭代器可以改变元素,至少还有remove。
System.out.println(s);
}
System.out.println(al);
//高级for和传统for对数组进行遍历
int[] arr = {2,4,5};
for (int x = 0;x<arr.length ;x++ )
{
System.out.println(arr[x]);
}
for(int x: arr)
{
System.out.println("x="+x);
}
//HashMap集合举例
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));
}
Set<Map.Entry<Integer,String>> entryset = hm.entrySet();
for(Map.Entry<Integer,String> me: entryset)
{
System.out.println(me.getKey()+"------"+me.getValue());
}
}
}
传统for和高级for有什么区别呢?(有角标和没角标)
高级for有一个局限性。必须有被遍历的目标。
建议在遍历数组的时候,还是希望是用传统for。因为传统for可以定义脚标。有角标可以对角标进行操作。比如判断