List集合中的对象判断某个字段是否重复
思路
利用TreeSet集合去重,然后比较set集合和原集合的长度,如果长度一致,则没有重复,如果长度不一致,则有重复
对象和字段自定义
/**
* 判断List<ArScenicPromptPlaceVO>的对象name是否有重复,有重复true
*
*/
private Boolean checkPromptPlaceName(List<ArScenicPromptPlaceVO> promptPlaceList) {
Set<ArScenicPromptPlaceVO> set = new TreeSet<ArScenicPromptPlaceVO>(new Comparator<ArScenicPromptPlaceVO>() {
public int compare(ArScenicPromptPlaceVO a, ArScenicPromptPlaceVO b) {
// 字符串则按照asicc码升序排列
return a.getName().compareTo(b.getName());
}
});
set.addAll(orderList);
if (set.size() < orderList.size()) {
return true;
}
return false;
}
简写版
/**
* 判断List<ArScenicPromptPlaceVO>的对象name是否有重复,有重复true
*
*/
public Boolean checkPromptPlaceName(List<ArScenicPromptPlaceVO> promptPlaceList) {
Set<ArScenicPromptPlaceVO> set = new TreeSet<>(Comparator.comparing(ArScenicPromptPlaceVO::getName));
set.addAll(promptPlaceList);
if (set.size() < promptPlaceList.size()) {
return true;
}
return false;
}