当前位置: 首页 > news >正文

网站设计是平面设计吗/快排seo排名软件

网站设计是平面设计吗,快排seo排名软件,骨科免费咨询,郑州营销型网站总结如下:1.如果只是遍历集合或者数组,用foreach好些,快些,因为for每遍历一次都要判断一下条件。2.如果对集合中的值进行修改,就要用for循环了。其实foreach的内部原理其实也是Iterator,但它不能像Iterator一样可以人为…

总结如下:

1.如果只是遍历集合或者数组,用foreach好些,快些,因为for每遍历一次都要判断一下条件。

2.如果对集合中的值进行修改,就要用for循环了。其实foreach的内部原理其实也是Iterator,但它不能像Iterator

一样可以人为的控制,而且也不能调用iterator.remove();更不能使用下标来访问每个元素,所以不能用于增加,

删除等复杂的操作。

-----------------------------------------------------------------------------------------------------------

for循环和foreach的区别

关于for循环和foreach的区别,你真的知道,用了那么多年使用起来已经很熟悉了,可突然问我讲讲这两的区别,一下还真把我给卡住了一下,

下面从源码的角度简单分析一下吧;

for循环的使用

for循环通过下标的方式,对集合中指定位置进行操作,每次遍历会执行判断条件 i

for(inti=0;i

{

System.out.println(i + ":"+ list.get(i));

}

也就是说,即使在for循环中对list的元素remove和add也是可以的,因为添加或删除后list中元素个数变化,继续循环会再次判断i

是可行的,具体操作如下代码for(inti =0; i 

if(i ==3) {

list.add("中间插入的一个字符串");

}

if(i ==5) {

{

list.remove(6);

}

}

System.out.println(i + ":"+ list.get(i));

}

增强for循环:foreach循环的原理

同样地,使用foreach遍历上述集合,注意foreach是C#中的写法,在Java中写法依然是for (int i : list)

写法for(String str : list)

查看文档可知,foreach除了可以遍历数组,还可以用于遍历所有实现了Iterable接口的对象。

用普通for循环的方式模拟实现一个foreach,由于List实现了Iterable,

过程如下:首先通过iterator()方法获得一个集合的迭代器,然后每次通过游标的形式依次判断是否有下一个元素,如果有通过 next()方法则可以取出。 注意:

执行完next()方法,游标向后移一位,只能后移,不能前进。

用传统for循环的方式模拟 增强for循环

3dde9a831a87fb9c28283f11617a23d0.png

和for循环的区别在于,它对索引的边界值只会计算一次。所以在foreach中对集合进行添加或删掉会导致错误,抛出异常java.util.ConcurrentModificationExceptionprivatestaticvoidtestForeachMethod(ArrayList list) {

intcount =0;// 记录index

for(String str : list) {

System.out.println(str);

count++;

if(count ==3) {

// foreach中修改集合长度会抛出异常

// list.add("foreach中插入的ABC");

}

}

}

c37a7f1cac7c65f4a3451aac8efb9379.png

具体可以从源码的角度进行理解

1.首先是调用iterator()方法获得一个集合迭代器

89296607772b80462e9f75d528f35185.png

a0a9998ceed6270791a156618c7515eb.png

初始化时

expectedModCount记录修改后的个数,当迭代器能检测到expectedModCount是否有过修改

07214a186be61c2a80a0b546e53f82ee.png

b81f2851d1ae9909c2ffc7c9ef99cba3.png

在创建迭代器之后,除非通过迭代器自身的 remove 或 add 方法从结构上对列表进行修改,否则在任何时间以任何方式对列表进行修改,迭代器都会抛出

ConcurrentModificationException。因此,面对并发的修改,迭代器很快就会完全失败,而不是冒着在将来某个不确定时间发生任意不确定行为的风险。

注意,迭代器的快速失败行为无法得到保证,因为一般来说,不可能对是否出现不同步并发修改做出任何硬性保证。快速失败迭代器会尽最大努力抛出 ConcurrentModificationException。

因此,为提高这类迭代器的正确性而编写一个依赖于此异常的程序是错误的做法:迭代器的快速失败行为应该仅用于检测 bug。

http://www.jmfq.cn/news/5014585.html

相关文章:

  • 网站关键词密这么稀释/如何建网站详细步骤
  • 我想给别人做网站/网络营销的三大核心
  • 用自己电脑做服务器建网站/百度搜索风云榜单
  • 杭州网站建设h5/网站模板源码
  • 做网站靠谱的公司/云南最新消息
  • 乾元坤和B2B网站建设解/seo建站还有市场吗
  • 吉林省住房城乡建设厅网站/新乡seo推广
  • 大兴网站建设制作/千牛怎么做免费推广引流
  • 网站全面详细创建步骤/有哪些搜索引擎网站
  • 怎么做外网网站监控/长沙网络公司排名
  • 北京网站制作基本流程/站外引流推广渠道
  • h5制作价格/安卓内核级优化神器
  • 建设学校网站策划书/免费发布信息网网站
  • 做网站数据库设计/手机优化软件哪个好用
  • 厦门做网站/推广策略都有哪些
  • 网站建设的工作内容/西安百度推广运营
  • 汕头企业自助建站/郑州搜索引擎优化公司
  • 品牌网站建设 蝌蚪小7/免费python在线网站
  • 内蒙能源建设集团网站/网络推广公司服务内容
  • 网站分为哪几种/seo投放
  • 网站开发需要用到哪些资料/steam交易链接可以随便给别人吗
  • 塑料袋销售做哪个网站推广好/北京网站优化方式
  • 罗定市住房和城乡建设局网站/湘潭网络推广
  • 做公司网站用什么系统/百度河南代理商
  • 扬州做网站的公司/今天的新闻大事10条
  • 网站数据丢失怎么办/湖南平台网站建设制作
  • 如何自学网站建设/国际军事新闻最新消息今天
  • wordpress修改网站名称/百度店铺
  • 做电力项目信息的网站/企业新闻营销
  • win2008做的网站打不开/自建站平台