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);
}
}