java中的for循环

本文介绍了Java中增强版for循环的使用方法,该循环为jdk1.5引入的新特性。适用于数组或实现了Iterable接口的对象。文章通过具体示例对比了传统for循环与增强版for循环的异同,并强调了增强版for循环的便捷性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   我们所熟悉的for循环形式是for(;;),但是还有一种增强版的for循环形式(for(obj:list)),是jdk1.5的新特性,一直容易忘记,现在对它的使用规则做一下记录。
    1.参数介绍:
   参数list是for循环需要遍历的对象,而此对象的类型必须是一个数组或者是实现了java.lang.Iterable接口的一个实例,不然编译不会通过。当循环第一次的时候,就把储存在list中的第一个对象赋值给obj,这就意味着obj的类型必须和list存放的对象的类型相匹配。
    2.例子说明:
    for (WebsitesList web :lw) {
       obj=new JSONObject();
       obj.put("webname",web.getWebname());
       obj.put("click",web.getDayClick());
       jsona.add(obj);
    }
   这个for循环的功能是把lw(是ArrayList类型)中的数据赋值给web对象,同时放在json数组之中,其实也相当于如下的写法:
   for (int i=0;i<lw.size();i++){
      WebsitesList web=lw.get(i);
      obj=new JSONObject();
      obj.put("webname",web.getWebname());
      obj.put("click",web.getDayClick());
      jsona.add(obj);  
   }
   通过上面的例子可以看出:第一种写法比较方便和快捷,适合多多使用。
   3.备注:
   符合list的对象类型有:
  AbstractCollection, AbstractList, AbstractQueue,AbstractSequentialList, AbstractSet, ArrayBlockingQueue,ArrayDeque, ArrayList, AttributeList, BeanContextServicesSupport,BeanContextSupport, ConcurrentLinkedQueue, ConcurrentSkipListSet,CopyOnWriteArrayList, CopyOnWriteArraySet, DelayQueue, EnumSet,HashSet, JobStateReasons, LinkedBlockingDeque, LinkedBlockingQueue,LinkedHashSet, LinkedList, PriorityBlockingQueue, PriorityQueue,RoleList, RoleUnresolvedList, Stack, SynchronousQueue, TreeSet,Vector
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值