0 0

List集合,部门遍历人员!!!0

Map<Long,SystemDepts> uMaps = new HashMap<Long, SystemDepts>();
uMaps = taskService.getAllUser();
Set<Long> key = uMaps.keySet();
List<SystemDepts> orgList = new ArrayList<SystemDepts>();//部门
List<SystemUser> userList = new ArrayList<SystemUser>();//用户
        for (Iterator<Long> it = key.iterator(); it.hasNext();) {
        Long s = (Long) it.next();
        orgList.add(uMaps.get(s));
                 }
代码如下 , 我这里写的是错的!
orgList已经遍历了,里面存的是部门这个对象 ,{部门实体里面有个List<SystemUser> userList对象}
现在我想遍历每个部门下的所有人员!!!!!!!
额 ,也许对高手来说很简单 ,但是我思路现在很乱了!
2012年12月28日 23:06

3个答案 按时间排序 按投票排序

0 0

思路确实很混乱,new了很多不该new的对象,这样就行了

for (Iterator<Long> it = key.iterator(); it.hasNext();) {
        Long s = (Long) it.next();
        users.addAll(uMaps.get(s).getUserList());
}

2012年12月29日 11:56
0 0

如果SystemUser对象中有成员变量SystemDepts,那么你可以直接taskService.getAllUserInDepts(){查询所有部门不为空的员工}

如果没有,那么你就遍历部门
Set<SystemUser> users = new HashSet<SystemUser>;//为了不重复添加人员
List<SystemDepts> orgList = taskService.getAllDepts();//获取所有部门
for (Iterator<SystemDepts> it = orgList .iterator();it.hasNext();){
    SystemDepts org = it.next();
    List<SystemUser> userList = org.getUserList();
    for(int i=0;i<userList.size();i++){
        SystemUser u = userList.get(i);
        users.add(u);
    }
}

最后users就是所有不重复的人员了

2012年12月29日 09:31
0 0

思路太混乱,对代码的理解也很差,你给出的代码没有丝毫逻辑性可言

Map<Long,SystemDepts> uMaps = new HashMap<Long, SystemDepts>(); 
uMaps = taskService.getAllUser(); 

此处的new HashMap<Long, SystemDepts>();没有丝毫用处,这个对象无需定义。

另外部门并没有得到内容:
List<SystemDepts> orgList = new ArrayList<SystemDepts>();//部门 

这里只是一个空的数组列表,没有任何内容
没有取到任何部门,你怎么去遍历部门呢?
另外部门是否有上下级结构,是否为树型结构?
还有你的所有人员已经全部取出,你是否想把所有人员根据所属部门加到每个部门上做为一个LIST的人员集合?

2012年12月29日 08:48

相关推荐

    一次集合遍历实现树形结构 - server

    在IT领域,构建树形结构的数据模型是一种...总之,一次集合遍历实现树形结构是Java和Spring Boot开发中处理层级数据的一种有效方法,它既简洁又高效。理解并掌握这种技巧,对提升后端服务的性能和可维护性大有裨益。

    Java递归算法遍历部门代码示例

    在上面的代码中,`traverseDepart` 函数将当前部门的子部门遍历出来,然后对每个子部门调用自身来遍历其子部门。这样可以遍历整个部门树结构。 知识点三:部门树结构的定义 在 Java 中,部门树结构可以使用 POJO...

    list集合树状排序-java

    在Java编程中,"list集合树状排序"是一种常见的需求,特别是在处理前端展示的数据时,如使用jQuery的treetable插件。这个场景通常涉及到数据结构的组织和排序,以便前端能够按照树形结构正确地展示层级关系。下面将...

    C# List绑定treeView

    在本篇文章中,我们将深入探讨如何使用C#中的List集合动态地绑定到TreeView控件上。这种方法在构建具有层级结构的应用程序时非常有用,尤其是在处理组织结构、文件系统或者任何类型的树状数据时。 ### 一、理解...

    公司职员管理系统

    员工信息通常包括姓名、工号、部门和薪资等,可以封装成Employee对象,然后将对象添加到List中。 其次,查询特定员工信息时,可通过员工号进行查找。Set接口则不允许元素重复,如HashSet,它可以快速查找特定员工,...

    基于java实现的员工管理系统

    在Java中,List是集合框架的一部分,它是一个有序的元素序列,允许有重复的元素。在员工管理系统中,List被用来存储和管理员工的信息。比如,我们可以创建一个ArrayList或者LinkedList来保存Employee对象的实例,每...

    java笔试题,宝丰能源笔试面试题

    `List, Object&gt;&gt;`用于存储结果,`HashMap, Object&gt;`用于存储单个部门信息。 2. 条件判断与循环: - 在处理组织数据时,通过`for-each`循环遍历`Department`对象列表,然后使用条件判断语句`if (department.get...

    MF00004-java学校教务管理系统源码.zip

    4.2.3、用户管理:查询所有用户信息,可以添加一个新用户,查询所有的角色,返回list集合,遍历在页面的角色分配上,不同用户分配不同角色,也可以修改该用户的角色。 4.2.4、学生成绩查询:管理员查询所有学生,...

    有趣的代码段实现去重

    - **统计元素出现次数**:可以先进行去重,然后再遍历去重后的集合,统计每个元素在原始列表中出现的次数。 - **集合交并差操作**:可以结合其他集合类如 `Set` 或 `HashSet` 实现更加复杂的集合操作,如求交集、...

    java递归无限层级树

    在Java编程中,递归是一种强大的工具,常用于解决复杂问题,例如构建和遍历层次结构数据,如无限层级的树。在这个场景中,我们利用Java递归来表示一个树形结构,这种结构可以无限深入,每个节点可能包含子节点,也...

    2021-2022计算机二级等级考试试题及答案No.18031.docx

    - 集合:同样使用 for 循环遍历集合元素。 以上是对计算机二级等级考试部分试题涉及知识点的详细解析,涵盖数据库管理、SQL语法、数据结构、内存管理、Java环境、操作系统、图形用户界面编程等多个方面。

    薪资计算程序

    6. **集合与遍历**:在处理大量员工数据时,`List&lt;T&gt;`等集合类型非常有用。我们可以通过遍历列表,为每个员工计算薪资,然后进行汇总统计。 7. **数据库操作**:通常,员工信息和薪酬数据会存储在数据库中。C#提供...

    Java员工管理系统,ArrayList存储

    在Java中,ArrayList类位于`java.util`包下,它是List接口的一个具体实现。ArrayList底层使用数组进行数据存储,因此可以支持快速的随机访问。同时,ArrayList也支持动态扩容,当添加元素时,如果数组容量不足,会...

    讲透JAVAStream的collect用法与原理远比你想象的更强大

    在处理集合数据时,Stream API提供了一种声明式处理方式,使得程序员能够以更加流畅的方式处理数据。而`collect`操作是Stream API中的一个重要组成部分,它用于将Stream中的元素聚合到一个容器中,如List、Set或Map...

    C# IList多字段排序

    `IList&lt;T&gt;`接口是许多集合类型的基接口,如`List&lt;T&gt;`。在实际项目中,我们常常需要对这些列表进行排序,而不仅仅基于一个字段,而是可能根据多个字段的顺序来决定元素的最终排列。这就涉及到了多字段排序。 多字段...

    CEO.rar_C# 树形_visual c

    5. **应用场景**:在CEO项目中,树形结构可能用于表示公司组织架构,每个节点代表一个员工或部门,父节点代表上级,子节点代表下级。这样的结构便于进行人员管理和权限分配。 6. **数据结构的扩展**:为了提高效率...

    HQL实用技术

    5. **返回List集合**:Query.list() 返回List集合,Query.iterate() 返回Iterator。 - **Query.list()** 和 **Query.iterate()** 的主要区别在于返回类型和查询策略: - **Query.list()** 直接查询数据库,并将...

    2021-2022计算机二级等级考试试题及答案No.13190.docx

    5. 单列集合元素计数:获取单列集合(如 List、ArrayList 等)中元素的个数可以使用 `size()` 方法。 6. 数据库系统特性:数据库系统减少了数据冗余,提高了数据的一致性,但并不能完全避免所有冗余,且数据一致性...

    2021-2022计算机二级等级考试试题及答案No.19673.docx

    **集合遍历** - **示例**: ```python my_set = {'apple', 'banana', 'cherry'} for item in my_set: print(item) ``` ### 3. Java 类继承的关键字 - **关键字**:`extends` - **解释**:在 Java 中,当一个...

Global site tag (gtag.js) - Google Analytics