java 查找list中重复数据实例详解

 更新时间:2017年01月24日 13:59:22   投稿:lqh  
这篇文章主要介绍了java 查找list中重复数据实例详解的相关资料,需要的朋友可以参考下

java 查找list中重复数据实例详解

需求:

查找一个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时间轮算法的实现代码示例

    Java时间轮算法的实现代码示例

    本篇文章主要介绍了Java时间轮算法的实现代码示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • Java实现图片与二进制的互相转换

    Java实现图片与二进制的互相转换

    这篇文章主要为大家详细介绍了Java实现图片与二进制的互相转换,将图片转二进制再将二进制转成图片,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • java导出生成word的简单方法

    java导出生成word的简单方法

    这篇文章主要为大家详细介绍了java导出生成word的简单方法,感兴趣的朋友可以参考一下
    2016-03-03
  • Java 数组ArrayList常用语法详解

    Java 数组ArrayList常用语法详解

    这篇文章主要介绍了Java 数组ArrayList常用语法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • 详解java生成json字符串的方法

    详解java生成json字符串的方法

    本篇文章主要介绍了java生成json字符串的方法,包括map对象转换成json对象,list转换成json,json转换成list和map,有兴趣的可以了解一下。
    2017-01-01
  • spring cloud 分布式链路追踪的方法

    spring cloud 分布式链路追踪的方法

    这篇文章主要介绍了spring cloud 分布式链路追踪的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • 最小树形图模板朱刘算法分享

    最小树形图模板朱刘算法分享

    这篇文章主要介绍了最小树形图模板朱刘算法,有需要的朋友可以参考一下
    2014-01-01
  • volatile可见性的一些认识和论证

    volatile可见性的一些认识和论证

    volatile的关键词的使用在JVM内存模型中已是老生常谈了,这篇文章主要结合自己对可见性的一些认识和一些直观的例子来谈谈volatile,感兴趣的朋友一起看看吧
    2017-08-08
  • 从一道面试题看你对java的理解程度

    从一道面试题看你对java的理解程度

    这篇文章主要给大家介绍了关于如何从一道面试题看你对java的理解程度的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起看看吧
    2018-09-09
  • Java ThreadLocal的设计理念与作用

    Java ThreadLocal的设计理念与作用

    这篇文章主要介绍了Java ThreadLocal的设计理念与作用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03

最新评论