标签:
一、foreach循环语句介绍:
1、格式:
for(类型 变量名称:被遍历数组或集合){
其他操作(输出操作)
}
2、作用:
主要是用于简化书写
二、foreach循环语句遍历数组:
public class oneHundredAndEight_oneHundredAndNine { public static void main(String[] args) { String[] names = {"萌萌","纯纯","爱爱","凤凤","梦梦"}; for(String x:names){ System.out.print(x+" "); } } }
public class ForEachDemo { public static void main(String[] args) { int[] arr = {3,5,6,7}; for (int i : arr ){ System.out.println(i); } } }
三、foreach循环语句遍历集合
List集合有两种取出方式,一种是迭代器,和for循环,用get()方法按着角标取出元素
Set集合只有一种取出方式就是迭代器
凡是支持迭代器的集合都可以使用高级for
对集合进行遍历,只能获取元素,但是不能对集合进行过多的操作
迭代器除了遍历还可以对集合中的元素进行remove
如果是ListIterator还可以在遍历过程中对集合进行增删改查的动作
import java.util.ArrayList; public class ForEachDemo { public static void main(String[] args) { ArrayList<String> al = new ArrayList<String>(); al.add("abc2"); al.add("abc3"); al.add("abc1"); /* for (Iterator<String> it = al.iterator() ;it.hasNext() ; ){ System.out.println(it.next()); } */ for(String s : al){ //s = "kk";//s不会改变集合中的元素,只能对集合中的元素取出,不能做修改动作 System.out.println(s); } System.out.println(al);//结果还是原集合 } }
四、传统for和高级for的区别:
1、传统for:可以完成对语句执行很多次,因为可以定义控制循环增量和条件
2、高级for有一个局限性,必须有被遍历的目标,而且可能会产生很多的垃圾,在一些内存比较紧张的项目中不建议使用,比如在安卓程序中,建议在遍历数组的时候还是希望使用传统for,因为传统for可以使用角标
3、高级for只能遍历单例集合,要变量双列集合(如Map集合),可以将Map集合变成单例集合再使用高级for
import java.util.HashMap; public class ForEachDemo { public static void main(String[] args) { HashMap<Integer,String> hm = new HashMap<Integer,String>(); hm.put(1,"a"); hm.put(2,"a"); hm.put(3,"a"); //先用keySet或entrySet方法变成Set集合,在使用高级for for (Integer key : hm.keySet()) { String value = hm.get(key); System.out.println(key+"...."+value); } } }
标签:
原文地址:http://www.cnblogs.com/LO-ME/p/4396899.html