pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

在迭代器上調用 next 一次 vs 多次

Calling next on an Iterator once vs multiple times(在迭代器上調用 next 一次 vs 多次)
本文介紹了在迭代器上調用 next 一次 vs 多次的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

為什么第一個版本的代碼不起作用

Why this first version of the code does not work

          // returns the longest string in the list (does not work!)

         public static String longest(LinkedList<String> list) {
              Iterator<String> itr = list.iterator();
              String longest = itr.next(); // initialize to first element

              while (itr.hasNext()) {
                  if (itr.next().length() > longest.length()) {
                     longest = itr.next();
                  } 
              }
              return longest;
         }

但是第二個版本的代碼會嗎?

but the second version of the code will ?

       // this version of the code is correct

       while (itr.hasNext()) {
           String current = itr.next();
           if (current.length() > longest.length()) {
               longest = current;
           }
       }

推薦答案

當你的 if 條件為 true 時,你正在調用 next() 兩次:

When your if condition is true, you are calling next() twice:

if (itr.next().length() > longest.length()) {
    longest = itr.next();
...

因此,在 if 正文中,您將 next 值的長度(而不是當前值)分配給 longest.

Thus, inside the if body, you are assigning the length of the next value, not the current one, to longest.

Iterator.next() 從集合中返回當前值,但同時將迭代器前進到下一個元素.

Iterator.next() returns the current value from the collection, but at the same time, advances the iterator to the next element.

請注意,如果沒有下一個元素,您對 itr.next() 的第二次調用可能會拋出 NoSuchElementException.在您使用 Iterator.hasNext() 檢查是否有可用的下一個元素之后,始終只調用 Iterator.next() 一次.

Note that your second call to itr.next() might throw a NoSuchElementException if there is no next element. Always call Iterator.next() only once after you have checked with Iterator.hasNext() whether there is a next element available.

更好的是,使用 foreach 循環來處理樣板:

Even better, use the foreach loop which handles all the boilerplate:

for (String current : list) {
    ....
    // "current" now points to the current element
}

這篇關于在迭代器上調用 next 一次 vs 多次的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

Java Remove Duplicates from an Array?(Java從數組中刪除重復項?)
egit plugin for Eclipse(Eclipse 的 egit 插件)
Gitlab cannot open git-upload-pack error(Gitlab 無法打開 git-upload-pack 錯誤)
How to fix Invocation failed Unexpected Response from Server: Unauthorized in Android studio(如何修復調用失敗來自服務器的意外響應:在 Android 工作室中未經授權)
How to add GitLab repository in Eclipse?(如何在 Eclipse 中添加 GitLab 存儲庫?)
AES encryption, got extra trash characters in decrypted file(AES 加密,解密文件中有多余的垃圾字符)
主站蜘蛛池模板: 高精度电阻回路测试仪-回路直流电阻测试仪-武汉特高压电力科技有限公司 | 电动垃圾车,垃圾清运车-江苏速利达机车有限公司 | 净化工程_无尘车间_无尘车间装修-广州科凌净化工程有限公司 | 医学动画公司-制作3d医学动画视频-医疗医学演示动画制作-医学三维动画制作公司 | sus630/303cu不锈钢棒,440C/430F/17-4ph不锈钢研磨棒-江苏德镍金属科技有限公司 | 精密冲床,高速冲床等冲压设备生产商-常州晋志德压力机厂 | 深圳善跑体育产业集团有限公司_塑胶跑道_人造草坪_运动木地板 | 合肥礼品公司-合肥礼品定制-商务礼品定制公司-安徽柏榽商贸有限公司 | 火锅底料批发-串串香技术培训[川禾川调官网] | 阜阳在线-阜阳综合门户 | 武汉天安盾电子设备有限公司 - 安盾安检,武汉安检门,武汉安检机,武汉金属探测器,武汉测温安检门,武汉X光行李安检机,武汉防爆罐,武汉车底安全检查,武汉液体探测仪,武汉安检防爆设备 | 高速混合机_锂电混合机_VC高效混合机-无锡鑫海干燥粉体设备有限公司 | jrs高清nba(无插件)直播-jrs直播低调看直播-jrs直播nba-jrs直播 上海地磅秤|电子地上衡|防爆地磅_上海地磅秤厂家–越衡称重 | 色油机-色母机-失重|称重式混料机-称重机-米重机-拌料机-[东莞同锐机械]精密计量科技制造商 | 硬度计,金相磨抛机_厂家-莱州华煜众信试验仪器有限公司 | 浙江浩盛阀门有限公司| 流水线电子称-钰恒-上下限报警电子秤-上海宿衡实业有限公司 | 品牌广告服务平台,好排名,好流量,好生意。 | 洛阳永磁工业大吊扇研发生产-工厂通风降温解决方案提供商-中实洛阳环境科技有限公司 | 河南中整光饰机械有限公司-抛光机,去毛刺抛光机,精密镜面抛光机,全自动抛光机械设备 | 精密交叉滚子轴承厂家,转盘轴承,YRT转台轴承-洛阳千协轴承 | 恒温槽_恒温水槽_恒温水浴槽-上海方瑞仪器有限公司 | 聚丙烯酰胺_阴离子_阳离子「用量少」巩义亿腾厂家直销,售后无忧 聚合甘油__盐城市飞龙油脂有限公司 | 溶氧传感器-pH传感器|哈美顿(hamilton) | 苏州防水公司_厂房屋面外墙防水_地下室卫生间防水堵漏-苏州伊诺尔防水工程有限公司 | 环氧铁红防锈漆_环氧漆_无溶剂环氧涂料_环氧防腐漆-华川涂料 | 订做不锈钢_不锈钢定做加工厂_不锈钢非标定制-重庆侨峰金属加工厂 | 噪声治理公司-噪音治理专业隔音降噪公司 | 环氧树脂地坪_防静电地坪漆_环氧地坪漆涂料厂家-地壹涂料地坪漆 环球电气之家-中国专业电气电子产品行业服务网站! | 语料库-提供经典范文,文案句子,常用文书,您的写作得力助手 | 无菌检查集菌仪,微生物限度仪器-苏州长留仪器百科 | 雨水收集系统厂家-雨水收集利用-模块雨水收集池-徐州博智环保科技有限公司 | 超声波焊接机,振动摩擦焊接机,激光塑料焊接机,超声波焊接模具工装-德召尼克(常州)焊接科技有限公司 | 学习安徽网| 太阳能发电系统-太阳能逆变器,控制器-河北沐天太阳能科技首页 | 专业深孔加工_东莞深孔钻加工_东莞深孔钻_东莞深孔加工_模具深孔钻加工厂-东莞市超耀实业有限公司 | 电缆接头_防水接头_电缆防水接头 - 乐清市新豪电气有限公司 | 石家庄网站建设|石家庄网站制作|石家庄小程序开发|石家庄微信开发|网站建设公司|网站制作公司|微信小程序开发|手机APP开发|软件开发 | 合肥弱电工程_安徽安防工程_智能化工程公司-合肥雷润 | Honsberg流量计-Greisinger真空表-气压计-上海欧臻机电设备有限公司 | 防渗土工膜|污水处理防渗膜|垃圾填埋场防渗膜-泰安佳路通工程材料有限公司 |