查找list中重复数据

原创 2016年08月31日 15:45:36

需求:
查找一个List集合中所有重复的数据,重复的数据可能不止一堆,比如:aa, bb, aa, bb, cc , dd, aa这样的数据。如果有重复数据,则给这些重复数据加上编号,上述数据改为:aa1, bb1, aa2, bb2, cc, dd.

算法如下:

public static void same(List<String> list) {
        String [] indexArr ;
        Map<String, String> map = new HashMap<String, String>();
        for (int i = 0; i < list.size(); i++) {
            String key = list.get(i);
            String old = map.get(key);
            if (old != null) {
                map.put(key, old + "," + (i + 1));
            } else {
                map.put(key, "" + (i + 1));
            }
        }
        Iterator<String> it = map.keySet().iterator();
        int index = -1;
        while (it.hasNext()) {
            String key = it.next();
            String value = map.get(key);
            if (value.indexOf(",") != -1) {
                System.out.println(key + " 重复,行: " + value);
                indexArr = value.split(",");

                for (int i = 0; i < indexArr.length; i++) {
                    index = Integer.parseInt(indexArr[i])-1;
                    list.set(index, list.get(index)+(1+i));
                }
            }
        }

        for (String val : list) {
            System.out.println("val = "+val);
        }
        System.out.println("..................");

    }
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Java中List集合去除重复数据的方法

1. 循环list中的所有元素然后删除重复 public static List removeDuplicate(List list) { for ( int i =...

查找list中的重复数据,并得到重复数据索引位置

package cn.com.newglobe.action.attendance; import java.util.ArrayList; import java.util.HashMap; im...

Java判断List中相同值元素的个数

Map, Integer> map = new TreeMap, Integer>(); for (Object i : listIp) { if (map.get(i) == null) {...

mongodb中的ObjectId类型主键

mongodb中存储的文档必须有一个_id键,这个键的值可以是任意类型的,默认是一个ObjectId对象,在一个集合里面,每一个文档都有唯一的_id值,来确保集合里面的每个文档都能被唯一标识,但是在不...

Android类参考---FragmentManager

1. 继承关系 java.lang.Object     |____android.app.FragmentManager 2. 类概要 这个类提供了与Activity内部的F...
  • wbw1985
  • wbw1985
  • 2013年06月05日 15:52
  • 6906

合并List<Map<String,String>>中的重复数据并对某个字段做累加

package demo; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import j...

记一次Java List重复数据的问题

贴上原代码List data = new ArrayList(); ReportDataModel.Data reportData = = new ReportDataModel().new Data...

Python 字符串,list排序,删除重复数据

List排序并删除重复值 a=[‘b’,’c’, ‘d’,’b’,’c’,’a’,’a’] 方法:使用set() b=sorted(set(a)) print( b) List排序不删除重复...

Linq实现DaTaTable或者List里面数据值不重复

在回答论坛有个某列不重复的值为条件获取数据的问题,二

List集合里面去除重复的数据

List集合里面去除重复的数据
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:查找list中重复数据
举报原因:
原因补充:

(最多只允许输入30个字)