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 查找所有用户

解决方案 »

  1.   

    Iterator it = users.Iterator();
    while (it.hasNext()){
       User u = (User)it.next();
       if(u.getID() == id){
         return u;
       }
    }
      

  2.   

    要是jdk1.5以上的话。
    for(Object o:users){
       User u=(User)o;//来遍历,其他的和楼上的一样了。。}
      

  3.   

    这个牵扯到嵌套的问题啊
    因为在depts里 存放的是dept 对象,所以 在depts 里还有 user 对象
      

  4.   


    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; 
       } 
     }
    }大致应该是这样,感觉楼主问题描述得不清楚
      

  5.   

    谢谢 这么多好心人
    意思设这样的:
    根据id查找,如果没有找到,还需要对子部门,以及子部门的子部门进行迭代。 因为在DEPT里包含了List depts ,depts 存放的是dept对象大概就是这样了
      

  6.   

    因为有子部门,还有子子部门,肯定要用到递归了。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;
    }