【发布时间】:2019-05-22 19:30:59
【问题描述】:
我是 java 新手,所以每一个建议都会非常感激。
我有一棵树,比如带有文件和目录的文件系统。我想按名称查找目录。
组件是一个接口,文件和目录都实现了它。
我在类 Directory 中编写了这个方法,以便找到一个名为 name 的 Directory。
public Directory getDir(String name) {
Iterator<Component> iterator = (Iterator<Component>) components.iterator();
Component component = null;
while(iterator.hasNext()) {
component = iterator.next();
if(component instanceof Directory) {
if(component.getName().equals(name)) {
return (Directory) component;
}
else component.getDir(name);
}
}
return null;
}
不知何故,这个方法在找到我的目录后不会停止。
我尝试写“return component.getDir(name)”,但没有帮助。它不会在我节点的每个组件中搜索,只是在第一个组件中搜索。
我究竟做错了什么?
请帮我。
谢谢
【问题讨论】:
标签: java recursion search tree