面试的题目 有点小难 望高手赐教解决方案
面试的题目 有点小难 望高手赐教
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 查找所有用户
------解决方案--------------------
因为有子部门,还有子子部门,肯定要用到递归了。
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 查找所有用户
------解决方案--------------------
因为有子部门,还有子子部门,肯定要用到递归了。
- Java code
import java.util.ArrayList;
import java.util.List;
public class DEPT {
private long id;
private String name;
private List depts = new ArrayList();
private List users = new ArrayList();
public User find(long id) {
User tmpUser = null;
DEPT tmpDept = null;
for(int i=0;i<users.size();i++)
{
tmpUser = (User)users.get(i);
if(tmpUser.id == id)
return tmpUser;
}
for(int i=0;i<depts.size();i++)
{
tmpDept = (DEPT)depts.get(i);
tmpUser = tmpDept.find(id);
if(tmpUser != null)
return tmpUser;
}
return null;
}
}
class User {
public long id;
private String name;
public DEPT parent;
}