传统的for循环和高级1.5特性ForEach()循环有什么区别?
传统循环有循环控制量,能对循环进行自定义的循环。
高级ForEach()是一种高级技术
它必须有遍历的目标,该目标要么是Arrays数组,要么是集合Collection单列集合
如果仅仅只是对数组中的元素进行遍历可以使用ForEach()循环。
如果涉及到数组中元素的角标,那么就得用传统的for 循环。
ForEach语句格式:
for(类型 变量:集合or数组){
sysop();//输出语句
}
示例:
List<String> list =new ArrayList<String>();
list.add("abc1");
list.add("abc2");
list.add("abc3");
for(String s : list){ //简化书写。
System.out.println(s);
}
输出:
使用ForEach循环能遍历Map集合吗?
不能直接使用ForEach循环遍历Map集合,因为Map集合是双列的,ForEach循环只能遍历单列集合,得先把Map集合转成单列Set集合。
示例:
Map <Integer,String> map=new HashMap<Integer,String >();
map.put(3,"zhagsan");
map.put(1,"wangyi");
map.put(7,"wagnwu");
map.put(4,"zhagsansan");
for(Integer key:map.keySet()){
String value=map.get(key);
System.out.println(key+"::"+value);
}
for(Map.Entry<Integer,String me:map.entrySet>){
Integer key=me.getKey();
String value=me.getValue();
System.out.println(key+":"+value);
}
输出: