浏览 2439 次
锁定老帖子 主题:比较好的算法
精华帖 (0) :: 良好帖 (0) :: 隐藏帖 (11)
|
|
---|---|
作者 | 正文 |
发表时间:2011-11-28
最后修改:2012-02-08
可能发到这个版块比太合适,由于求职版块人比较多,所以就发这里了。如果有误,请管理员移到其他适合的版块
package com.lhl.test; import java.util.ArrayList; import java.util.List; /** * * @Title: * @Description: 比较基本信息和扩展信息,将不同的信息返回 * @author luohl * @date Nov 28, 2011 * @version V1.0 */ public class Test { public static void main(String[] args) { UserBaseInfo baseInfo = getBaseInfo(); //实际项目中从数据库中查询 假定基本信息都不为空 List<ExtendInfo> list = getExtendInfos(); //实际项目中从数据库中查询 假定扩展信息都不为空 UserBaseInfo returnInfo = new UserBaseInfo(); //要返回的基本信息 for (ExtendInfo extendInfo : list) { //工作手机 if ("workPhone".equals(extendInfo.getCode())) { if (!baseInfo.getWorkPhone().equals(extendInfo.getValue())) { returnInfo.setWorkPhone(extendInfo.getValue()); continue; } } //私人手机 if ("slefPhone".equals(extendInfo.getCode())) { if (!baseInfo.getSelfPhone().equals(extendInfo.getValue())) { returnInfo.setSelfPhone(extendInfo.getValue()); continue; } } //工作邮箱 if ("workMail".equals(extendInfo.getCode())) { if (!baseInfo.getWorkMail().equals(extendInfo.getValue())) { returnInfo.setWorkMail(extendInfo.getValue()); continue; } } //私人邮箱 if ("selfMail".equals(extendInfo.getCode())) { if (!baseInfo.getSelfMail().equals(extendInfo.getValue())) { returnInfo.setSelfMail(extendInfo.getValue()); continue; } } } //打印不同的信息 if (returnInfo.getWorkPhone() != null) { System.out.println("工作手机不相同,扩展信息中手机号码是:" + returnInfo.getWorkPhone()); } if (returnInfo.getSelfPhone() != null) { System.out.println("私人手机不相同,扩展信息中私人手机是:" + returnInfo.getSelfPhone()); } if (returnInfo.getWorkMail() != null) { System.out.println("工作邮箱不相同,扩展信息中工作邮箱是:" + returnInfo.getWorkMail()); } if (returnInfo.getSelfMail() != null) { System.out.println("私人邮箱不相同,扩展信息中私人邮箱是:" + returnInfo.getSelfMail()); } } private static UserBaseInfo getBaseInfo() { UserBaseInfo baseInfo = new UserBaseInfo(); baseInfo.setWorkPhone("18647512442"); baseInfo.setSelfPhone("15957814256"); baseInfo.setWorkMail("just@xx.com"); baseInfo.setSelfMail("xxxx@126.com"); return baseInfo; } private static List<ExtendInfo> getExtendInfos() { List<ExtendInfo> list = new ArrayList<ExtendInfo>(); ExtendInfo info1 = new ExtendInfo(); info1.setCode("workPhone"); info1.setValue("18647512111"); list.add(info1); ExtendInfo info2 = new ExtendInfo(); info2.setCode("slefPhone"); info2.setValue("15957814256"); list.add(info2); ExtendInfo info3 = new ExtendInfo(); info3.setCode("workMail"); info3.setValue("justok@xx.com"); list.add(info3); ExtendInfo info4 = new ExtendInfo(); info4.setCode("selfMail"); info4.setValue("xxxx@126.com"); list.add(info4); return list; } } /** * * @Title: * @Description: 基本信息 * @author xxxx * @date Nov 28, 2011 * @version V1.0 */ class UserBaseInfo { private String workPhone; //工作手机 private String selfPhone; //私人手机 private String workMail; //工作邮箱 private String selfMail; //私人邮箱 public String getWorkPhone() { return workPhone; } public void setWorkPhone(String workPhone) { this.workPhone = workPhone; } public String getSelfPhone() { return selfPhone; } public void setSelfPhone(String selfPhone) { this.selfPhone = selfPhone; } public String getWorkMail() { return workMail; } public void setWorkMail(String workMail) { this.workMail = workMail; } public String getSelfMail() { return selfMail; } public void setSelfMail(String selfMail) { this.selfMail = selfMail; } } /** * * @Title: * @Description: 扩展信息 * @author xxxxx * @date Nov 28, 2011 * @version V1.0 */ class ExtendInfo { private String code; private String value; public String getCode() { return code; } public void setCode(String code) { this.code = code; } public String getValue() { return value; } public void setValue(String value) { this.value = value; } }
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-11-28
最后修改:2011-11-28
大神们,给点意见啊。
我还有一个思路就是吧 UserBaseInfo 映射到一个map中,然后跟List<ExtendInfo> list 组成嵌套循环,这样就不用一个个的比较,就效率来说,跟用if差不多,只是代码少点。 |
|
返回顶楼 | |