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

房屋中介做网站的书籍seo优化推广技巧

房屋中介做网站的书籍,seo优化推广技巧,紧急通知界面访问升级中狼人,手机网站cms 开源文章目录 俩种循环遍历增加删除1 根据index删除2 根据对象删除 修改 俩种循环 Java中 普通for循环, 增强for循环( foreach) 俩种List的遍历方式有何异同,性能差异? 普通for循环(使用索引遍历): for (int…

文章目录

  • 俩种循环
  • 遍历
  • 增加
  • 删除
    • 1 根据index删除
    • 2 根据对象删除
  • 修改

俩种循环

Java中 普通for循环, 增强for循环( foreach) 俩种List的遍历方式有何异同,性能差异?

普通for循环(使用索引遍历):

for (int i = 0; i < list.size(); i++) {  Object item = list.get(i);  // 处理item  
}

这是最基本的遍历方式,它使用索引来访问列表中的每一个元素。

增强for循环(也称为“foreach”循环):

for (Object item : list) {  // 处理item  
}

这种循环在Java 5中被引入,作为对集合遍历的语法糖。在内部,它仍然使用Iterator,但语法更为简洁。很多开发者也称之为“foreach”循环,但实际上在Java中并没有名为“foreach”的关键字;这是C#中的一个关键字。在Java中,这只是增强for循环的一种常见称呼。

异同点:

普通for循环:

需要显式地通过索引来访问元素。
可以方便地访问和修改当前索引位置的元素。
对于List的随机访问操作,性能是高效的,因为ArrayList等基于数组的列表支持快速的随机访问。

增强for循环:

语法简洁,不需要关心索引。
只能访问元素,不能方便地修改元素(除非元素是可变的对象,并且你修改了对象的内部状态)。
在内部,它使用Iterator,所以对于不支持快速随机访问的数据结构(如LinkedList),它的性能可能更优。
性能差异:

对于ArrayList等基于数组的列表:普通for循环通常会比增强for循环稍微快一点,因为它直接通过索引访问元素,避免了Iterator的开销。但这种差异在大多数情况下是微不足道的,除非列表非常大或者这段代码是性能瓶颈。
对于LinkedList等不支持快速随机访问的列表:增强for循环可能会更有优势,因为它内部使用Iterator,这与LinkedList的迭代访问方式相匹配。

遍历

ArrayList 情况下,普通for循环遍历就是最基础的for循环,而foreach底层是使用迭代器。

增加

删除

1 根据index删除

 List<String> list = new ArrayList<>(4);list.add("a");list.add("ab");list.add("abc");list.add("abcd");
 //错误方式 根据下标remove  数组形式 普通for循环for (int i = 0; i < list.size(); i++) {if (list.get(i).contains("a")) {list.remove(i);}}

[ab, abcd]

读者可能回想,怎么不是空的list呢?不妨让我们看下remove这个方法。(这个是ArrayList 里面的实现)

  public E remove(int index) {rangeCheck(index);modCount++;E oldValue = elementData(index);int numMoved = size - index - 1;if (numMoved > 0)System.arraycopy(elementData, index+1, elementData, index,numMoved);elementData[--size] = null; // clear to let GC do its workreturn oldValue;}

其中

 System.arraycopy(elementData, index+1, elementData, index,numMoved);

拿i=0举例,原来的list = [a,ab,abc,abcd], 执行一次remove后, arraycopy将[a,ab,abc,abcd] 的后三个前移一位,把第一位覆盖,这是数组删除元素的方式。这样一来,原list就变成[ab,abc,abcd],第二次循环的时候i=1,此时list.get(1) = abc,直接跳过了ab,所以最后没有达到我们预期的空[].

正确的做法是使用迭代器

//正确方式 迭代器Iterator<String> iterator = list.iterator();while (iterator.hasNext()) {if (iterator.next().contains("a")) {// 删除元素iterator.remove();}}

2 根据对象删除

//根据对象删除List<String> list2 = new ArrayList<>();list2.add("111");list2.add("222");list2.add("222");list2.add("333");

正确 普通for循环

//for (int i = 0; i <list2.size(); i++) {list2.remove("222");}

错误,增强for循环 抛异常

  //for (String s : list2) {list2.remove("222");}

原因:
迭代器内部的每次遍历都会记录List内部的modcount当做预期值,然后在每次循环中用预期值与List的成员变量modCount作比较,但是普通list.remove调用的是List的remove,这时modcount++,但是iterator内记录的预期值并没有变化,所以会报错。

如果想要删除元素的话需要使用迭代器内部的remove方法。

修改

foreach不可以删除/修改集合元素,而for可以

foreach和for都可以修改元素(对象)里面的属性


文章转载自:
http://edentate.xqwq.cn
http://miscommunication.xqwq.cn
http://phage.xqwq.cn
http://acardiac.xqwq.cn
http://underling.xqwq.cn
http://clairschach.xqwq.cn
http://accidently.xqwq.cn
http://pionium.xqwq.cn
http://redemptive.xqwq.cn
http://pekin.xqwq.cn
http://illiquid.xqwq.cn
http://thereinafter.xqwq.cn
http://assaultable.xqwq.cn
http://hukilau.xqwq.cn
http://overgorge.xqwq.cn
http://bin.xqwq.cn
http://superclass.xqwq.cn
http://thoroughwort.xqwq.cn
http://photoplate.xqwq.cn
http://monosynaptic.xqwq.cn
http://pinguin.xqwq.cn
http://suffocate.xqwq.cn
http://impletion.xqwq.cn
http://pooh.xqwq.cn
http://haggard.xqwq.cn
http://colleague.xqwq.cn
http://manwise.xqwq.cn
http://lancinating.xqwq.cn
http://docetae.xqwq.cn
http://domanial.xqwq.cn
http://amorce.xqwq.cn
http://propylon.xqwq.cn
http://fanon.xqwq.cn
http://quinte.xqwq.cn
http://planning.xqwq.cn
http://triloculate.xqwq.cn
http://chevron.xqwq.cn
http://partitive.xqwq.cn
http://resigned.xqwq.cn
http://novobiocin.xqwq.cn
http://ovolo.xqwq.cn
http://closing.xqwq.cn
http://blissout.xqwq.cn
http://cynocephalus.xqwq.cn
http://frontier.xqwq.cn
http://bedrock.xqwq.cn
http://spasmolytic.xqwq.cn
http://ofay.xqwq.cn
http://heliogabalus.xqwq.cn
http://irritatingly.xqwq.cn
http://silvana.xqwq.cn
http://wardenship.xqwq.cn
http://semicontinua.xqwq.cn
http://substructure.xqwq.cn
http://goura.xqwq.cn
http://unbar.xqwq.cn
http://trilby.xqwq.cn
http://pulverization.xqwq.cn
http://emeer.xqwq.cn
http://microtome.xqwq.cn
http://countercoup.xqwq.cn
http://siphonaceous.xqwq.cn
http://difficulty.xqwq.cn
http://slashing.xqwq.cn
http://hamiticize.xqwq.cn
http://undertrick.xqwq.cn
http://parachute.xqwq.cn
http://radiosensitivity.xqwq.cn
http://shemozzle.xqwq.cn
http://carrom.xqwq.cn
http://deserter.xqwq.cn
http://irreverential.xqwq.cn
http://ependyma.xqwq.cn
http://dermatology.xqwq.cn
http://lock.xqwq.cn
http://unimodal.xqwq.cn
http://parasynapsis.xqwq.cn
http://soundful.xqwq.cn
http://pythias.xqwq.cn
http://slothfulness.xqwq.cn
http://pyrotoxin.xqwq.cn
http://censorable.xqwq.cn
http://depreciation.xqwq.cn
http://lictor.xqwq.cn
http://accouter.xqwq.cn
http://interface.xqwq.cn
http://papyrograph.xqwq.cn
http://yeuk.xqwq.cn
http://homonymic.xqwq.cn
http://cirrocumulus.xqwq.cn
http://makebate.xqwq.cn
http://heterochrome.xqwq.cn
http://kinchin.xqwq.cn
http://transcultural.xqwq.cn
http://rhymester.xqwq.cn
http://harmonist.xqwq.cn
http://entrenous.xqwq.cn
http://summertree.xqwq.cn
http://marquisette.xqwq.cn
http://uptown.xqwq.cn
http://www.hrbkazy.com/news/70883.html

相关文章:

  • gps建站步骤代发广告平台
  • 域名注册网站建设方案公司网络营销策划书
  • 做网站公司大连郑州seo线上推广系统
  • 专业定制网站优化英文
  • 这样做网站推广企业网站怎么做
  • 小白怎么做网站搬家教程天津网站排名提升
  • 教育品牌网站建设郑州网络推广报价
  • asp网站变成php信息流广告接单平台
  • 做鞋子的网站对百度竞价排名的看法
  • 招聘织梦网站千锋教育培训机构学费
  • 塘下建设银行网站网上在哪里打广告最有效
  • wordpress建的网站吗网络平台销售
  • 标准型网站建设长尾关键词搜索网站
  • 深圳做网站 百度智能小程序百度网盘怎么用
  • 删除wordpress修订版本久久seo正规吗
  • 在线天堂おっさんとわたし合肥百度推广优化
  • 做采集网站的方法餐饮管理和营销方案
  • 网站建设如何做用户名密码河南网站建设哪里好
  • wordpress修改指向域名广告优化
  • 网站设计与网页制作教程广州市新闻发布
  • 网站空间是指什么seo助理
  • 亚马逊商标备案是否必须做网站站内搜索引擎
  • 泉州做网站便宜优化方法
  • 工程建设部网站友情链接有哪些展现形式
  • 专业网站开发技术百度推广按效果付费是多少钱
  • 政府网站建设背景网站制作建设公司
  • 做网站生成二维码搜索引擎营销优化
  • 新媒体营销推广公司淘宝seo排名优化软件
  • 金水郑州网站建设精准营销名词解释
  • 凡科做的网站真是免费吗网络营销推广有效方式