Iterator的数据结构是什么呢?

netxuning 2005-12-08 10:31:09
如题
是树还是链之类的呢?
由于不了解数据结构,有段代码不太明白呀!如下:
private void printElement(Element element)
{
System.out.println(element.getQualifiedName()+": "+element.getText());
Iterator iter = element.elementIterator();
while (iter.hasNext()) //为什么不是if?
{
Element sub = (Element)iter.next();
System.out.println("属性个数是:"+sub.attributeCount());
printElement(sub);
}
}

这段代码用来解析一个xml,我个人认为while那行把while换成if能出现同样的结果,但不是这样,所以我认为是我对Iterator的结构不了解所造成的!
请大家指点迷津!谢谢了
...全文
254 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
netxuning 2005-12-13
  • 打赏
  • 举报
回复
谢谢
zhkchi 2005-12-13
  • 打赏
  • 举报
回复
public static ArrayList getArrayList(Iterator iter) {
ArrayList records = new ArrayList();
for(; iter.hasNext(); records.add(iter.next()));
return records;
}

上面的方法可以把Iterator变为ArrayList
netxuning 2005-12-12
  • 打赏
  • 举报
回复
谢谢诸位的回答,非常感谢
但是我生性驽钝,还是没有理解大家的意思。
chalsy(白梓健) 先生说的很对,我理解的很肤浅
其实我对这个递归函数是如何运行的还不了解
把这个递归改为嵌套的循环的话,也许我会稍微理解点儿。
这个递归如何改为循环呢?再次谢谢了!
chalsy 2005-12-09
  • 打赏
  • 举报
回复
while (iter.hasNext()) //为什么不是if?

对于这句,我觉得你不明白的不是Iterator,而是while和if的区别,
while是指要条件语句为真就一直会循环执做很多遍。
而if是不会循环的,永远只可能走一遍。
所以,如果Iterator里面不止1条数据,这两个就不能互换使用。

简单理解可以认为Iterator内部有一个游标,用来指示当前位置。

iter.hasNext()是判断这个Iterator里面还有没有下一条数据,即当前游标后有无数据。
调用iter.next()会让Iterator内部的一个游标往下走一行。
freshman520 2005-12-09
  • 打赏
  • 举报
回复
也叫反复器

你知道它能反复取出元素就行了
luanxj 2005-12-09
  • 打赏
  • 举报
回复
楼上的说得很好,if只执行一次,while是循环
gemouzhi 2005-12-08
  • 打赏
  • 举报
回复
DP
jgsfy 2005-12-08
  • 打赏
  • 举报
回复
Iterator是一个迭代器,他的结构像一个队列,把取到的东西先放到队列里面,然后用while循环判断队列里面是不是还有,如果还有元素那就取出,所以这里不能用if
believefym 2005-12-08
  • 打赏
  • 举报
回复
看Element的源码
j2se api里的Iterator就是迭代器,内部结构没研究过
内容概要:本文围绕“联合储能的配电网优化调度及新能源消纳能力评估”展开研究,基于Matlab平台实现了完整的仿真代码,系统探讨了储能系统在提升配电网调度灵活性与促进新能源消纳方面的关键作用。研究构建了考虑源-荷-储协调运行的优化调度模型,综合引入风电、光伏等间歇性新能源出力特性,结合分时电价、负荷响应机制与储能充放电策略,采用智能优化算法(如差分进化、粒子群等)求解多目标优化问题,旨在降低系统运行成本、提高能源利用效率并增强电网稳定性。同时,通过典型场景(如IEEE 33节点配电网)进行仿真验证,定量评估不同储能配置方案下新能源的消纳能力与系统调度性能,为高比例可再生能源接入背景下的配电网规划与运行提供技术支持与决策依据。; 适合人群:具备一定电力系统基础知识和Matlab编程能力,从事新能源、储能、智能电网等领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①开展含分布式能源的配电网优化调度建模与仿真;②评估储能系统对提升新能源消纳能力的作用;③复现高水平期刊论文中的优化算法与仿真流程;④支撑科研项目、学术论文撰写或毕业课题开发。; 阅读建议:建议结合文中提供的Matlab代码与典型算例,逐步调试运行,深入理解目标函数设计、约束条件构建及优化算法实现细节,并可在此基础上拓展多时间尺度调度、不确定性建模或鲁棒优化等进阶研究方向。

62,625

社区成员

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

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