论坛首页 招聘求职论坛

比较好的算法

浏览 2389 次
精华帖 (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;
	}
}
 

 

   发表时间:2011-11-28   最后修改:2011-11-28
大神们,给点意见啊。
我还有一个思路就是吧 UserBaseInfo 映射到一个map中,然后跟List<ExtendInfo> list 组成嵌套循环,这样就不用一个个的比较,就效率来说,跟用if差不多,只是代码少点。
0 请登录后投票
论坛首页 招聘求职版

跳转论坛:
Global site tag (gtag.js) - Google Analytics