list是我们日常开发中再常用不过的集合了,经常会有需要判断集合中是否有重复元素。当然list有contain方法可以很方便的判断是否包含某个元素。对于简单类型来说,使用contain很简单。但是大多数情况下,list中的对象都是我们自定义的,使用contain的话就需要重写对象的equals方法
今天写代码的时候,想到一个自认为不错的方法,可供大家参考哦。但是仅供某些情况下适用。 话不多说,贴代码:
private boolean checkGroupRepeat( List<GroupInfoResponse> list){
Set<String> instrumentIds = new HashSet<>();
for (GroupInfoResponse groupInfoResponse : list){
boolean success = instrumentIds.add(groupInfoResponse.getId());
if (!success){
return true;
}
}
return false;
}
我想校验一个自己写的GroupInfoResponse对象是否在集合中有重复,校验的依据就是GroupInfoResponse对象的id属性是否相等。 于是使用set,在遍历集合list的时候,把id放进set中,如果set的add方法返回false,说明已经有值,则返回重复。
。。。。。。。。。。