码迷,mamicode.com
首页 > 其他好文 > 详细

foreach循环语句

时间:2015-04-06 23:07:28      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:

一、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);
        }
    }
}

 

foreach循环语句

标签:

原文地址:http://www.cnblogs.com/LO-ME/p/4396899.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!