当前位置: 代码迷 >> J2SE >> JAVA 面试题目 貌似有点难 高手赐教,该怎么解决
  详细解决方案

JAVA 面试题目 貌似有点难 高手赐教,该怎么解决

热度:80   发布时间:2016-04-24 13:01:37.0
JAVA 面试题目 貌似有点难 高手赐教
public class DEPT{ 

private long id; 
private String name; 
private List depts = new ArrayList();//存放DEPT 对象 
private List users = new ArrayList();//存放USER 对象 
pbulic user find(long id);//就是要实现的功能 






public class User{ 
private long id; 
private String name; 
public DEPT parent; 


假设DEPT 和 USER 类的每一个私有属性都定义了GET 和 SET 方法 
在当前部门和子部门中查找给顶ID 的用户 
pbulic user find(long id) 
根据id 查找所有用户

意思设这样的: 
根据id查找,不管有没有找到,都需要对子部门,以及子部门的子部门进行迭代。 
因为在DEPT里包含了List depts ,depts 存放的是dept对象 



------解决方案--------------------
代码在此,核心就是在find方法里调用子部门的find方法
没有测试过,可能有问题,lz有空自己测一下吧
Java code
    public User find(long id){        User user = null;                // 现在当前部门的员工中查找        if(users!=null && users.size()>0){            for(int i=0; i<users.size(); i++){                user = (User) users.get(i);                if(user.getId() == id)                    return user;            }        }                // 如果没有在员工中找到,就在子部门中查找        Dept dept = null;        if(depts!=null && depts.size()>0){            for(int j=0; j<depts.size(); j++){                dept = (Dept) depts.get(j);                user = dept.find(id);                if(user != null)                    return user;            }        }                // 如果子部门中也没有找到,返回null        return null;    }
  相关解决方案