java中的for循环

    我们所熟悉的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, BeanContextServicesSuppo rt,BeanContextSupport, ConcurrentLinkedQueue, ConcurrentSkipListSet,CopyOnWriteArrayList, CopyOnWriteArraySet, DelayQueue, EnumSet,HashSet, JobStateReasons, LinkedBlockingDeque, LinkedBlockingQueue,LinkedHashSet, LinkedList, PriorityBlockingQueue, PriorityQueue,RoleList, RoleUnresolvedList, Stack, SynchronousQueue, TreeSet,Vector
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值