zoukankan      html  css  js  c++  java
  • [原创]JAVA技巧:去除ArrayList<Object>里面的重复记录

    简单说明

    ArrayList中保存的是某种类型的对象,如User,现在需要将对象属性userid重复的都去掉,使userid唯一,要如何处理?

    实现步骤

    代码如下方所示,实现一个Comparator的比较器,然后比较两个对象的属性,如果对象属性相同,则返回0,并且因为treeset中的记录不会重复,所以就可以达到去重的目的。

    public void removeDuplicates(List<Object> l) {
        // ... the list is already populated
        Set<Object> s = new TreeSet<Object>(new Comparator<Object>() {
    
            @Override
            public int compare(Object o1, Object o2) {
                // ... compare the two object according to your requirements
                return 0;
            }
        });
        s.addAll(l);
        List<Object> res = Arrays.asList(s.toArray());
    }

    实际运用的代码

    下面是实际运用过程中实现的代码,作用是将UserInfo中userid字段重复的去掉,如下:

      /**
      * 将列表中重复的用户移除,重复指的是userid相同
      * @param userList
      * @return
      */
     public ArrayList<UserInfo> removeDuplicteUsers(ArrayList<UserInfo> userList){
          Set<UserInfo> s= new TreeSet<UserInfo>(new Comparator<UserInfo>(){
    
               @Override
               public int compare(UserInfo o1, UserInfo o2) {
                    return o1.userId.compareTo(o2.userId);
               }
    
          });
    
          s.addAll(userList);
          return new ArrayList<UserInfo>(s);
     }

    参考资料

    主要是参考stackoverflow上面的代码,链接如下: http://stackoverflow.com/questions/5741038/remove-duplicates-from-arraylists

  • 相关阅读:
    兼容性和工程化
    对象
    用JavaScript实现学生管理系统
    用JavaScript实现视频弹幕发送
    数据结构
    数据结构和函数
    JavaScript的基本语法
    JS概括及基本语法
    MongoDB数据库的简单安装与使用
    epxress 的安装与配置
  • 原文地址:https://www.cnblogs.com/jizha/p/java_arraylist_duplicate.html
Copyright © 2011-2022 走看看