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 查找所有用户
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 查找所有用户
while (it.hasNext()){
User u = (User)it.next();
if(u.getID() == id){
return u;
}
}
for(Object o:users){
User u=(User)o;//来遍历,其他的和楼上的一样了。。}
因为在depts里 存放的是dept 对象,所以 在depts 里还有 user 对象
Iterator dp = dept.Iterator();while(dp.hasNext()){
Iterator it = dp.next().getUsers().Iterator();
while (it.hasNext()){
User u = (User)it.next();
if(u.getID() == id){
return u;
}
}
}大致应该是这样,感觉楼主问题描述得不清楚
意思设这样的:
根据id查找,如果没有找到,还需要对子部门,以及子部门的子部门进行迭代。 因为在DEPT里包含了List depts ,depts 存放的是dept对象大概就是这样了
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;
}