java 查找list中重复数据实例详解
java查找list中重复数据实例详解
需求:
查找一个List集合中所有重复的数据,重复的数据可能不止一堆,比如:aa,bb,aa,bb,cc,dd,aa这样的数据。如果有重复数据,则给这些重复数据加上编号,上述数据改为:aa1,bb1,aa2,bb2,cc,dd.
算法如下:
publicstaticvoidsame(List<String>list){
String[]indexArr;
Map<String,String>map=newHashMap<String,String>();
for(inti=0;i<list.size();i++){
Stringkey=list.get(i);
Stringold=map.get(key);
if(old!=null){
map.put(key,old+","+(i+1));
}else{
map.put(key,""+(i+1));
}
}
Iterator<String>it=map.keySet().iterator();
intindex=-1;
while(it.hasNext()){
Stringkey=it.next();
Stringvalue=map.get(key);
if(value.indexOf(",")!=-1){
System.out.println(key+"重复,行:"+value);
indexArr=value.split(",");
for(inti=0;i<indexArr.length;i++){
index=Integer.parseInt(indexArr[i])-1;
list.set(index,list.get(index)+(1+i));
}
}
}
for(Stringval:list){
System.out.println("val="+val);
}
System.out.println("..................");
}
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
热门推荐
3 祝福语简短的微信
10 幼儿祝福语大全简短贺卡
11 感谢教官文案祝福语简短
12 鼠年同事祝福语简短创意
13 元旦祝福语 简短独特群发
14 妈咪跟我生日祝福语简短
15 给儿子新婚祝福语简短
16 伴娘祝福语长文案简短
17 恭喜高考完祝福语简短
18 生日祝福语送老公简短