Remove the duplicate values in Java code

先上传代码,

 1  List<String> criteriaList = new ArrayList<String>();
 2  EfsnCompanyCriteria companyCriteria = new EfsnCompanyCriteria(user.getCompanyId(),
 3                                                                EfsnCompanyCriteria.CRITERIA1,
 4                                                                con);
 5  EfsnCompanyCriteria mpCompanyCriteria = new EfsnCompanyCriteria(user.getCompanyId(),
 6                                                                  EfsnCompanyCriteria.CRITERIA2,
 7                                                                  con);
 8  EfsnCompanyCriteria secCompanyCriteria = new EfsnCompanyCriteria(user.getCompanyId(),
 9                                                                   EfsnCompanyCriteria.CRITERIA3,
10                                                                   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()。

挺简单清晰的代码。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。