集合去重(String去重,对象去重常用方法)

String 去重
/**
* notes:使用HashSet实现List去重
* @param list
* @return
*/
public static List repeatListWayTwo(List<String> list){
  //初始化HashSet对象,并把list对象元素赋值给HashSet对象
  HashSet set = new HashSet(list);
  //把List集合所有元素清空
  list.clear();
  //把HashSet对象添加至List集合
  list.addAll(set);
  return list;
}
对象去重

对对象中的某一字段去重,重复对象保留第一个。

public class YYInfo {
	private String yydm;// 代码
	private String yymc;// 名称

	public String getYydm() {
		return yydm;
	}

	public void setYydm(String yydm) {
		this.yydm = yydm;
	}

	public String getYymc() {
		return yymc;
	}

	public void setYymc(String yymc) {
		this.yymc = yymc;
	}
}

	/**
	 * 去重 list
	* @Description: TODO(这里用一句话描述这个方法的作用)
	* @author yaorui
	* @param list
	* @return
	 */
    private static ArrayList<YYInfo> removeDuplicate(List<YYInfo> yyinfo) {
        Set<YYInfo> set = new TreeSet<YYInfo>(new Comparator<YYInfo>() {
            @Override
            public int compare(YYInfo o1,YYInfo o2) {
                //字符串,则按照asicc码升序排列
                return o1.getYydm().compareTo(o2.getYydm());
            }
        });
        set.addAll(yyinfo);
        return new ArrayList<YYInfo>(set);
    }

Map 对对象去重,并对其中一项结果累加

Map<String,String> map = new HashMap<String,String>();
for(YYInfo yyinfo : YYInfos){
	if(map.get(yyinfo.getYydm())==null){
		map.put(yyinfo.getYydm(),yyinfo.getYymc());
	}else{
		//重复值累加 yymc 字段的值(具体情况具体分析)
		//这里用逗号区分,后续处理可用String.spilt(",")处理
		String yymcs = map.get(yyinfo.getYydm())+","+yyinfo.getYymc();
		map.put(yyinfo.getYydm(),yymcs);
	}
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值