seekproxy.java
来自「Java实现的常用数据结构算法」· Java 代码 · 共 61 行
JAVA
61 行
package structs;
public class SeekProxy{
Struct struct;
public SeekProxy(Struct str){
struct=str;
}
public String find(Struct node){
if(node.ClassName()==struct.ClassName()){
if(struct.isContent(node)){
return node.Name;
}else{
System.out.println(node.Name+" NotFound!");
return ".error.html";
}
}else{
String postfix=struct.SubStruct.find(node);
return struct.Name+"."+postfix;
}
}
public Struct skByName(String name){
Struct target=null;
if(name.equals(struct.Name))
return struct;
if(struct.getNext()!=null)
target=struct.getNext().skByName(name);
if(target!=null)
return target;
if(struct.SubStruct!=null)
target=struct.SubStruct.skByName(name);
return target;
}
public Book skByKW(String[] key){
// if(struct.ClassName().equals("Book")){
// return this.skByKW(key);}
Book book=null;
if(struct.SubStruct!=null)
book=struct.SubStruct.skByKW(key);
if(book==null){
if(struct.getNext()!=null)
book=struct.getNext().skByKW(key);
}
return book;
}
public Book skByKW(String keys){
String[] set=keys.split(" ");
return skByKW(set);
}
public Struct getAt(String path){
// System.out.println(path+"<>"+Name);
if(path.equals(struct.Name)){
return struct;
}
if(path.startsWith(struct.Name)){
return struct.SubStruct.getAt(path.substring(struct.Name.length()+1));
}else{
if(struct.Next!=null)
return (struct.getNext().getAt(path));
else return null;
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?