Java8使用stream进行去重操作

/**
 * 通过列表中对象的某个字段进行去重
 *
 * @param keyExtractor
 * @param 
 * @return
 */
private  Predicate distinctByKey(Function keyExtractor) {
    Set seen = ConcurrentHashMap.newKeySet();
    return t -> seen.add(keyExtractor.apply(t));
}
 
  
// 根据机构名称进行列表去重
list = list.stream().filter(distinctByKey(ProdCustserv::getJGNAME)).collect(Collectors.toList());

你可能感兴趣的:(JavaEE)