zoukankan      html  css  js  c++  java
  • 集合去重

    直接上代码,记录下,方便下次直接用:

     1 @Test
     2     public void distinctMyUser() {
     3         List<MyUser> list1 = new ArrayList<>();
     4         MyUser user1 = new MyUser();
     5         user1.setUserName("zhangsan");
     6         user1.setPassWord("1234567");
     7         list1.add(user1);
     8 
     9         MyUser user2 = new MyUser();
    10         user2.setUserName("zhangsan");
    11         user2.setPassWord("123456");
    12         list1.add(user2);
    13 
    14         MyUser user3 = new MyUser();
    15         user3.setUserName("lisi");
    16         user3.setPassWord("123456");
    17         list1.add(user3);
    18 
    19         MyUser user4 = new MyUser();
    20         user4.setUserName("lisi");
    21         user4.setPassWord("123456");
    22         list1.add(user4);
    23 
    24         for (MyUser b : list1) {
    25             System.out.println("去重前:" + b.toString());
    26         }
    27 
    28         //去重
    29         list1 = removeDuplicateOutputField(list1);
    30 
    31         for (MyUser b : list1) {
    32             System.out.println("去重后:" + b.toString());
    33         }
    34     }
    35 
    36     /**
    37      * 根据list中对象某些字段去重
    38      * @param list 需要去重的list
    39      * @return 返回去重后的list
    40      */
    41     private static List<MyUser> removeDuplicateOutputField(List<MyUser> list) {
    42         Set<MyUser> set = new TreeSet<>(new Comparator<MyUser>() {
    43             @Override
    44             public int compare(MyUser myUser, MyUser myUserNew) {
    45                 int compareToResult = 1;//==0表示重复
    46                 //需要去重的字段在此处比较过滤
    47                 if(StringUtils.equals(myUser.getUserName(), myUserNew.getUserName()) &&
    48                         StringUtils.equals(myUser.getPassWord(), myUserNew.getPassWord())) {
    49                     compareToResult = 0;
    50                 }
    51                 return compareToResult;
    52             }
    53         });
    54         set.addAll(list);
    55         return new ArrayList<>(set);
    56     }
    57 
    58     @Data
    59     public class MyUser {
    60         private String userName;
    61         private String passWord;
    62     }

    运行后的结果:

  • 相关阅读:
    qrcode在手机上不显示的问题
    css 文本溢出省略号
    css解决字段不换行
    vue小程序ref和v-for结合使用得到ref数组的一些问题
    Nginx CORS 跨域资源共享问题
    基于k8s使用helm安装Jenkins
    nginx通过自定义http header 进行服务转发
    基于Kubernetes部署nacos配置中心
    基于Centos 7.8 和Kubeadm部署k8s高可用集群
    Jenkins学习以及配置
  • 原文地址:https://www.cnblogs.com/yinfengjiujian/p/11987433.html
Copyright © 2011-2022 走看看