我试图为树遍历实现迭代器接口。我收到以下错误。“for(Integer node : tr) 的不兼容类型”和“treeIterator.java 使用未经检查或不安全的操作。” 我无法修复此错误。有人可以指出问题所在。
//class to implement the Iterator interace.
class InorderItr implements Iterator {
public InorderItr(Node root) {
st = new Stack<Node>();
this.root = root;
}
@Override
public boolean hasNext() {
//has Next
}
@Override
public Integer next(){
//next node
}
@Override
public void remove(){
throw new java.lang.UnsupportedOperationException("Remove not supported.");
}
}
//This class just makes sure that we use the foreach loop.
class InorderTreeIterator implements Iterable {
Node root = null;
public InorderTreeIterator(Node root){
this.root = root;
}
@Override
public Iterator<Integer> iterator(){
try{
return new InorderItr(this.root);
} catch(UnsupportedOperationException e){
System.out.println(e.getMessage());
return null;
}
}
}
class treeIterator {
public static void main(String arg[]){
treeIterator obj = new treeIterator();
//create tree.
InorderTreeIterator tr = new InorderTreeIterator(obj.root);
for(Integer node : tr ){
System.out.println(node);
}
}
}
PS:这是我第一次尝试实现迭代器接口。如果有任何我不遵循的标准做法,请指出。
谢谢你