`
429537044
  • 浏览: 48707 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

请教一个算法问题。

阅读更多

请教一个算法问题,有一个集合,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;
	}
	

 

分享到:
评论

相关推荐

    C语言算法精华

    Re: anya:请教一个问题 anya Re: 如何给汉字分界? anya Re: 八皇后算法问题请教? anya Re: 急寻图象压缩算法 anya 游戏中最佳路径的问题 anya 平面点覆盖问题求教 anya Re: 平面点覆盖问题求教 anya Re: ...

    遗传算法解决tsp问题毕业设计要做GUI界面-untitled.fig

    我是小菜鸟,请教各位高手这么四个问题:  1、如何读取城市坐标txt文件,坐标应该是一个二维数组格式吧?  例如一个5个城市坐标的txt文件,读取后应该为  city=[23 44;24 54;63 43;35 65;24 43]  应该用什么...

    遗传算法解决tsp问题毕业设计要做GUI界面-untitled.m

    我是小菜鸟,请教各位高手这么四个问题:  1、如何读取城市坐标txt文件,坐标应该是一个二维数组格式吧?  例如一个5个城市坐标的txt文件,读取后应该为  city=[23 44;24 54;63 43;35 65;24 43]  应该用什么...

    数据结构与算法分析实验报告.doc

    - 数据结构:程序采用顺序表作为存储结构,定义了一个名为`hufmtree`的结构体,包含数据成员`data`(存储节点值),`lchild`(左孩子指针),`rchild`(右孩子指针)以及`prnt`(父节点指针)。 - 算法实现:创建...

    基于matlab的粒子群算法求助-指数PSO源代码.rar

    在运行程序过程中,某些粒子的适应度函数会出现INF或NAN,而我把相应的位置参数(x1)带入适应度函数,求出来就是一个实数。不知道是哪有问题。希望各位帮忙指教一下。 待求函数形式: Y=p1*x1p2 p3*x2p4 p5*x3p6 ...

    蓝桥杯算法合集,包含56种算法详解

    蓝桥杯算法合集这个系列包括: 蓝桥杯常用算法系列 蓝桥杯五年真题两次模拟系列 算法竞赛Java常用API总结 以及 常用数据结构 这四个模块,里面的算法题目大多是蓝桥杯历届真题。文章都是自己备战学习过程中总结出来...

    java弹幕小游戏源码(同时请教,如何优化算法让它内存需求减少)

    在这个项目中,开发者分享了源代码并提出了一个优化问题,即如何减少游戏的内存需求。 源码分析: 1. **数据结构与算法优化**:游戏中的敌人资源存储在`a.json`文件中,这可能是一个JSON格式的文件,用于描述敌人...

    基于FPGA的五子棋算法

    设计的目标是创建一个模拟真实对弈感受的五子棋人机对战系统。灵感来源于 AlphaGo 人工智能围棋程序,但简化为五子棋,减少计算复杂性。系统由 Matlab 游戏界面、FPGA 算法处理单元和串口通信模块组成。FPGA 使用的...

    [合集] 请教两个网原问题.docx

    &gt; 12,一个1300字节的IP包,包头长度为20字节,进入一个MTU为500的网络中,(A) &gt; &gt; A:1,分成三段,偏移量为0,460,920; 2,分成三段,偏移量为0,480,960; 3,分成三段,偏移量为0,500,1000; 4,都不对这个会不会是1啊...

    华中科技大学数据结构与算法分析实验-内部排序实验报告

    这些问题通过查阅资料、向老师请教以及调整编程技巧得以解决。 通过本次实验,实验者不仅强化了对内部排序算法的理解,也提高了编程能力和问题解决能力。对各种排序算法的实际操作,使实验者能够更加熟练地运用这些...

    多种算法GPA计算工具

    本“多种算法GPA计算工具”旨在提供一个方便、准确的方式来计算GPA,适用于不同的评分体系和算法。 1. **不同评分体系的理解**: - 4.0制:最常见,A=4.0,B=3.0,C=2.0,D=1.0,F=0.0。 - 5.0制:一些学校或科目...

    《数据结构与算法》图书馆管理系统课程设计C语言版.zip

    C语言课程设计是一个旨在帮助学生深入理解和应用C语言编程的实践项目。以下是一些关于C语言课程设计的基本步骤和建议: 明确目标和需求:首先,你需要与授课教师或课程设计的相关人员沟通,明确课程设计的需求。这...

    小弟的一个作业,第一次做这些,请教下

    【小弟的一个作业,第一次做这些,请教下】 这个标题表明了这是一项关于加密基础知识和安全通信的作业,可能是计算机科学或网络安全课程的一部分。作业的主要目的是让学生熟悉在课堂上学习的加密方法,并涉及网络编程...

    请教大佬的运维问题re1

    8. 负载均衡工具:常见的工具有F5(硬件)和Nginx(软件),调度算法可选用轮询、权重轮询、最少连接数等。 9. 云主机与物理机连接:可以通过VPC(虚拟私有云)或隧道技术将云主机与公司内部网络连接,实现资源的...

    liegie_文件有点问题请教一下_

    解决这个问题,你可以尝试以下方法: - 检查并修复下载的文件,确保其完整性。 - 确认你的计算环境满足脚本的运行要求。 - 阅读并理解"liegie.m"脚本,确认其功能和使用方法。 - 如果脚本有误,寻找其他能带计算的...

    请教语音识别的问题高手进-hello.rar

    在语音识别领域,噪声消除是预处理步骤中的一个重要环节,特别是在使用像MATLAB这样的编程环境进行分析时。傅里叶变换是一种将信号从时域转换到频域的强大工具,可以帮助我们识别并去除噪声成分。本篇文章将深入探讨...

    请教MATLAB的图象多重分形程序-multifractal.m

     最近在做图象多重分形的分析,在MATHWORKS上找到一个国外程序,可以做.但是分 析的结果有点问题,a-f图的fmax大于2.另外,在运行的时候,会提示错误Size vector should be a row vector with integer elements, ...

    aa.rar_自动组卷_自动组卷算法

    这是用遗传算法写的自动组卷源代码,只有一个文件,是别人写的,没看懂,希望传上去,有人看懂的话,就请教一下

    用A*研究八数码

    我自己写了一个WinForm八数码研究软件,研究A*算法。 我用了SQL Server数据库来保存程序运行过程中所产生...(3)A*算法好像只能解决游戏中的小问题,能否提供一个解决实际应用的例子(带数据库的应用软件)。 谢谢!

Global site tag (gtag.js) - Google Analytics