如题
是树还是链之类的呢?
由于不了解数据结构,有段代码不太明白呀!如下:
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的结构不了解所造成的!
请大家指点迷津!谢谢了
是树还是链之类的呢?
由于不了解数据结构,有段代码不太明白呀!如下:
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的结构不了解所造成的!
请大家指点迷津!谢谢了
解决方案 »
- 我的jtable无法更新,应该是简单的问题,麻烦替我看下
- 关于继承与泛型,谁给解释一下?
- 如何获取数组元素的问题
- 怎么让JTextField不可编辑,但是底色仍然是白色?
- java连SqlServer2000 出现 Error establishing socket???
- FTP空间问题
- 加密中的PBE是那些单词的缩写
- 多线程调用REpaint(),遇到一个问题,谢谢大家
- 怎么测试web程序的内存泄漏问题(java)?application用jprofiles,那么web application用什么?
- 我想学JAVA,有几个问题想请教大家。
- 用JPEGImageDecoder出现的奇怪问题
- 书
j2se api里的Iterator就是迭代器,内部结构没研究过
while是指要条件语句为真就一直会循环执做很多遍。
而if是不会循环的,永远只可能走一遍。
所以,如果Iterator里面不止1条数据,这两个就不能互换使用。简单理解可以认为Iterator内部有一个游标,用来指示当前位置。iter.hasNext()是判断这个Iterator里面还有没有下一条数据,即当前游标后有无数据。
调用iter.next()会让Iterator内部的一个游标往下走一行。
但是我生性驽钝,还是没有理解大家的意思。
chalsy(白梓健) 先生说的很对,我理解的很肤浅
其实我对这个递归函数是如何运行的还不了解
把这个递归改为嵌套的循环的话,也许我会稍微理解点儿。
这个递归如何改为循环呢?再次谢谢了!
ArrayList records = new ArrayList();
for(; iter.hasNext(); records.add(iter.next()));
return records;
}上面的方法可以把Iterator变为ArrayList