zoukankan      html  css  js  c++  java
  • Remove the duplicate values in Java code

    先上传代码,

     1  List<String> criteriaList = new ArrayList<String>();
     2  EfsnCompanyCriteria companyCriteria = new EfsnCompanyCriteria(user.getCompanyId(), EfsnCompanyCriteria.CRITERIA1, con);
     5  EfsnCompanyCriteria mpCompanyCriteria = new EfsnCompanyCriteria(user.getCompanyId(), EfsnCompanyCriteria.CRITERIA2, con);
     8  EfsnCompanyCriteria secCompanyCriteria = new EfsnCompanyCriteria(user.getCompanyId(), EfsnCompanyCriteria.CRITERIA3, con);
    11  criteriaList.addAll(companyCriteria.getListOfPlanLevels());
    12  criteriaList.addAll(mpCompanyCriteria.getListOfPlanLevels());
    13  criteriaList.addAll(secCompanyCriteria.getListOfPlanLevels());

    如上面所述,标为蓝色的3个criteria里面可能有重复的值,所以在全部添加到criteriaList里面的时候我们在interface上show的时候需要考虑到它的重复值问题。

    开始自己想到的是,用if(...){criteriaList.add(...)}的方法,可实现起来比较麻烦,而且容易出错。

    后来自己想到了set(最简单的一种集合,集合中的对象不按特定的方式排序,并且没有重复对象。)

    所以,用以下的代码块解决了此问题,

    1 HashSet<String> criterSet  = new HashSet<String>(criteriaList);
      //new了一个set集合对象,然后将上面得到的criteriaList放入到里面,此时虽说criteriaList中有重复的元素,但是这时候得到
        的criterSet中是不存在重复值的,不知道这是不是set的特性(在内部的处理机制),明天问下公司大神。
    2 criteriaList.clear(); 3 criteriaList.addAll(criterSet);
      //clear()和addAll()。

    挺简单清晰的代码。

  • 相关阅读:
    linux下通过命令行重启服务,查看id,更改tv密码
    windows渗透相关、hideadmin工具隐藏用户账号、添加隐藏用户
    windows服务隐藏 以及进程隐藏
    nat32 winh命令远程执行难点
    anydesk命令行使用
    html页面,能用鼠标滚轮滑动,但是不能触屏滑动
    Java 全局统一异常捕获
    git 常用操作
    vue v-for强制刷新
    flutter-TextField垂直居中
  • 原文地址:https://www.cnblogs.com/wmx-rj/p/4342470.html
Copyright © 2011-2022 走看看