请教一个算法问题,有一个集合,List<DeptUserModel> duList;
DeptUserModel,如下图所示:
public class DeptUserModel { private String goupName; private List<String> userid; public String getGoupName() { return goupName; } public void setGoupName(String goupName) { this.goupName = goupName; } public List<String> getUserid() { return userid; } public void setUserid(List<String> userid) { this.userid = userid; } @Override public String toString() { return "DeptUserModel [goupName=" + goupName + ", userid=" + userid + "]"; } }
现在我需要把duList里面所有goupName相同的DeptUserModel合并。以下是我的解决方案,求复杂度低一点的解决方法。
/** * 合并 List<DeptUserModel> 把具有相同部门的用户合并 * @param duList * @return */ public List<DeptUserModel> getDeptUserModelByDeptUserModel( List<DeptUserModel> duList){ //合并DeptUserModel,把所有部门相同的合并到一起 List<DeptUserModel> duListTemp = new ArrayList<DeptUserModel>(); for (DeptUserModel deptUserModel : duList) { if(duListTemp.size()<1){ duListTemp.add(deptUserModel); }else{ DeptUserModel dum = new DeptUserModel(); boolean ifAdd = false; for (DeptUserModel deptUserModelTemp : duListTemp){ if(deptUserModelTemp.getGoupName().equals(deptUserModel.getGoupName())){ List<String> list = new ArrayList<String>(); list.addAll(deptUserModelTemp.getUserid()); list.addAll(deptUserModel.getUserid()); deptUserModelTemp.setUserid(list); ifAdd = false; }else if(!deptUserModelTemp.getGoupName().equals(deptUserModel.getGoupName())){ dum = deptUserModel; ifAdd = true; } } if(ifAdd){ duListTemp.add(dum); } } } return duListTemp; }
相关推荐
Re: anya:请教一个问题 anya Re: 如何给汉字分界? anya Re: 八皇后算法问题请教? anya Re: 急寻图象压缩算法 anya 游戏中最佳路径的问题 anya 平面点覆盖问题求教 anya Re: 平面点覆盖问题求教 anya Re: ...
我是小菜鸟,请教各位高手这么四个问题: 1、如何读取城市坐标txt文件,坐标应该是一个二维数组格式吧? 例如一个5个城市坐标的txt文件,读取后应该为 city=[23 44;24 54;63 43;35 65;24 43] 应该用什么...
我是小菜鸟,请教各位高手这么四个问题: 1、如何读取城市坐标txt文件,坐标应该是一个二维数组格式吧? 例如一个5个城市坐标的txt文件,读取后应该为 city=[23 44;24 54;63 43;35 65;24 43] 应该用什么...
- 数据结构:程序采用顺序表作为存储结构,定义了一个名为`hufmtree`的结构体,包含数据成员`data`(存储节点值),`lchild`(左孩子指针),`rchild`(右孩子指针)以及`prnt`(父节点指针)。 - 算法实现:创建...
在运行程序过程中,某些粒子的适应度函数会出现INF或NAN,而我把相应的位置参数(x1)带入适应度函数,求出来就是一个实数。不知道是哪有问题。希望各位帮忙指教一下。 待求函数形式: Y=p1*x1p2 p3*x2p4 p5*x3p6 ...
蓝桥杯算法合集这个系列包括: 蓝桥杯常用算法系列 蓝桥杯五年真题两次模拟系列 算法竞赛Java常用API总结 以及 常用数据结构 这四个模块,里面的算法题目大多是蓝桥杯历届真题。文章都是自己备战学习过程中总结出来...
在这个项目中,开发者分享了源代码并提出了一个优化问题,即如何减少游戏的内存需求。 源码分析: 1. **数据结构与算法优化**:游戏中的敌人资源存储在`a.json`文件中,这可能是一个JSON格式的文件,用于描述敌人...
设计的目标是创建一个模拟真实对弈感受的五子棋人机对战系统。灵感来源于 AlphaGo 人工智能围棋程序,但简化为五子棋,减少计算复杂性。系统由 Matlab 游戏界面、FPGA 算法处理单元和串口通信模块组成。FPGA 使用的...
> 12,一个1300字节的IP包,包头长度为20字节,进入一个MTU为500的网络中,(A) > > A:1,分成三段,偏移量为0,460,920; 2,分成三段,偏移量为0,480,960; 3,分成三段,偏移量为0,500,1000; 4,都不对这个会不会是1啊...
这些问题通过查阅资料、向老师请教以及调整编程技巧得以解决。 通过本次实验,实验者不仅强化了对内部排序算法的理解,也提高了编程能力和问题解决能力。对各种排序算法的实际操作,使实验者能够更加熟练地运用这些...
本“多种算法GPA计算工具”旨在提供一个方便、准确的方式来计算GPA,适用于不同的评分体系和算法。 1. **不同评分体系的理解**: - 4.0制:最常见,A=4.0,B=3.0,C=2.0,D=1.0,F=0.0。 - 5.0制:一些学校或科目...
C语言课程设计是一个旨在帮助学生深入理解和应用C语言编程的实践项目。以下是一些关于C语言课程设计的基本步骤和建议: 明确目标和需求:首先,你需要与授课教师或课程设计的相关人员沟通,明确课程设计的需求。这...
【小弟的一个作业,第一次做这些,请教下】 这个标题表明了这是一项关于加密基础知识和安全通信的作业,可能是计算机科学或网络安全课程的一部分。作业的主要目的是让学生熟悉在课堂上学习的加密方法,并涉及网络编程...
8. 负载均衡工具:常见的工具有F5(硬件)和Nginx(软件),调度算法可选用轮询、权重轮询、最少连接数等。 9. 云主机与物理机连接:可以通过VPC(虚拟私有云)或隧道技术将云主机与公司内部网络连接,实现资源的...
解决这个问题,你可以尝试以下方法: - 检查并修复下载的文件,确保其完整性。 - 确认你的计算环境满足脚本的运行要求。 - 阅读并理解"liegie.m"脚本,确认其功能和使用方法。 - 如果脚本有误,寻找其他能带计算的...
在语音识别领域,噪声消除是预处理步骤中的一个重要环节,特别是在使用像MATLAB这样的编程环境进行分析时。傅里叶变换是一种将信号从时域转换到频域的强大工具,可以帮助我们识别并去除噪声成分。本篇文章将深入探讨...
最近在做图象多重分形的分析,在MATHWORKS上找到一个国外程序,可以做.但是分 析的结果有点问题,a-f图的fmax大于2.另外,在运行的时候,会提示错误Size vector should be a row vector with integer elements, ...
这是用遗传算法写的自动组卷源代码,只有一个文件,是别人写的,没看懂,希望传上去,有人看懂的话,就请教一下
我自己写了一个WinForm八数码研究软件,研究A*算法。 我用了SQL Server数据库来保存程序运行过程中所产生...(3)A*算法好像只能解决游戏中的小问题,能否提供一个解决实际应用的例子(带数据库的应用软件)。 谢谢!