不看不知道,一看吓一跳.大侠们看看这是What?

huanhuanz 2006-08-18 02:34:41
for(Iterator iterator = sites.keySet().iterator(); iterator.hasNext();) {

String s3 = (String)iterator.next();
Site site = (Site)sites.get(s3);
int i;
if(s2.equalsIgnoreCase(site.getName()))
i = site.getId();
}
这段程序最让我看不懂的就是for循环里面的条件了.大侠们你们能看的懂么.看懂的留下几句指导一下.先谢谢了.最好把全部解释下.我学习了3个星期JAVA自以为不错了.这段程序让我傻眼了55555
...全文
158 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhmt 2006-08-18
  • 打赏
  • 举报
回复
路过,友情up!
JAVA_WEB 2006-08-18
  • 打赏
  • 举报
回复
这段代码倒容易理解,但是设计初衷真的让人怀疑,哈哈。
for(Iterator iterator = sites.keySet().iterator(); iterator.hasNext();) {

String s3 = (String)iterator.next();
Site site = (Site)sites.get(s3);
int i;
if(s2.equalsIgnoreCase(site.getName())) {
i = site.getId();
break;//让他跳出去,再执行没有意义,set反正是无序的!!!
}

}
hu_ok118 2006-08-18
  • 打赏
  • 举报
回复
难啊
huanhuanz 2006-08-18
  • 打赏
  • 举报
回复
wxg1008(嘻嘻哈哈)
解释的太好了谢谢了
wxg1008 2006-08-18
  • 打赏
  • 举报
回复
这样理解吧,其实就是类似以下的循环写法
for(int i=0;i<9;){
i++;
}
iterator.next()取值的同时还后移了
boy 2006-08-18
  • 打赏
  • 举报
回复
非常简单,你可以这么看它!

Iterator iterator = sites.keySet().iterator();
//可以猜测, sites是一个map吧, 类型是 Map<String, Site>

while(iterator.hasNext()) {

String s3 = (String)iterator.next(); //取得下一个key而已;
Site site = (Site)sites.get(s3); //然后用key取site
int i;
if(s2.equalsIgnoreCase(site.getName())) 比较site的name, 忽略大小写。
i = site.getId(); //取得ID
}
donggua12345678 2006-08-18
  • 打赏
  • 举报
回复
Iterator迭代,可以用来遍历数据,
for(Iterator iterator = sites.keySet().iterator(); iterator.hasNext();) {
(定义,从sites.keySet()中获得一个迭代器------)(循环条件,判断是否还有数据)
String s3 = (String)iterator.next();//从迭代器中获得下一条数据
Site site = (Site)sites.get(s3);
int i;
if(s2.equalsIgnoreCase(site.getName()))
i = site.getId();
}
numen_wlm 2006-08-18
  • 打赏
  • 举报
回复
forEach
awded 2006-08-18
  • 打赏
  • 举报
回复
遍历把Map sites 里面的数据取出来,很常见的写法
jlusdy 2006-08-18
  • 打赏
  • 举报
回复
才3个星期而已
理解一门语言哪有这么快
healer_kx 2006-08-18
  • 打赏
  • 举报
回复
非常简单,你可以这么看它!

Iterator iterator = sites.keySet().iterator();
//可以猜测, sites是一个map吧, 类型是 Map<String, Site>

for(; iterator.hasNext(); ) {

String s3 = (String)iterator.next(); //取得下一个key而已;
Site site = (Site)sites.get(s3); //然后用key取site
int i;
if(s2.equalsIgnoreCase(site.getName())) 比较site的name, 忽略大小写。
i = site.getId(); //取得ID
}

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧