博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
For-Each循环
阅读量:5279 次
发布时间:2019-06-14

本文共 1373 字,大约阅读时间需要 4 分钟。

 

For-Each循环也叫增强型的for循环,或者叫foreach循环。

For-Each循环是JDK5.0的新特性(其他新特性比如泛型、自动装箱等)。

For-Each循环的加入简化了集合的遍历。

语法如下:

for(type element: array){  System.out.println(element);   }
 
 

Demo:

      public static void query()
      {
        List
list = new ArrayList
(); //list里存的是N个Teacher对象
        System.out.println("*****方式一*******"); //第一种方式 普通for循环
        for(int i=0;i
        { Teacher t = (Teacher)list.get(i);
        System.out.println(t.getName()); }
 
        System.out.println("*****方式二*******"); //第二种方式 使用迭代器
        for(Iterator
iter = list.iterator(); iter.hasNext();)
        { System.out.println(iter.next().getName()); } 
        System.out.println("*****方式三*******"); //第三种方式 增强型for循环
        for(Teacher t: list){ System.out.println(t.getName()); } }

For-Each循环的缺点:丢掉了索引信息。

当遍历集合或数组时,如果需要访问集合或数组的下标,那么最好使用旧式的方式来实现循环或遍历,而不要使用增强的for循环,因为它丢失了下标信息。

优点还体现在泛型 假如 set中存放的是Object Set set = new HashSet(); for循环遍历:   for (Object obj: set) {
       if(obj instanceof Integer){
                 int aa= (Integer)obj;               }else if(obj instanceof String){
                String aa = (String)obj               }                ........   } 如果你用Iterator遍历,那就晕了 map list 也一样
唯一的缺点就是 在遍历 集合过程中,不能对集合本身进行操作    for (String str : set) {
    set.remove(str);//错误!    }

转载于:https://www.cnblogs.com/foxspecial/p/3242089.html

你可能感兴趣的文章
Day13
查看>>
tensorflow saver简介+Demo with linear-model
查看>>
Luogu_4103 [HEOI2014]大工程
查看>>
Oracle——SQL基础
查看>>
项目置顶随笔
查看>>
Redis的安装与使用
查看>>
P1970 花匠
查看>>
java语言与java技术
查看>>
NOIP2016提高A组五校联考2总结
查看>>
iOS 项目的编译速度提高
查看>>
table中checkbox选择多行
查看>>
Magento开发文档(三):Magento控制器
查看>>
性能调优攻略
查看>>
ie6解决png图片透明问题
查看>>
瞬间的永恒
查看>>
2019-8-5 考试总结
查看>>
JS中实现字符串和数组的相互转化
查看>>
web service和ejb的区别
查看>>
Windows Azure Cloud Service (29) 在Windows Azure发送邮件(下)
查看>>
CS61A Efficiency 笔记
查看>>