List<Object> dtos = new ArraryList(); // 原集合
List<Object> list = new ArraryList<Object>(); // 筛选之后的集合
//根据Object对象中的ideaId去筛选新的
dtos.stream().filter(distinctByKey(Object::getIdeaId)).forEach(item->{list.add(item)};);
新加一个方法
private static <T> Predicate<T> distinctByKey(Function<? super T, Object> keyExtractor) {
Set<Object> seen = ConcurrentHashMap.newKeySet();
return t -> seen.add(keyExtractor.apply(t));
}