map multiple fields from java stream code example
Example: map multiple fields from java stream
private static Predicate distinctByKeys(Function super T, ?>... keyExtractors)
{
final Map, Boolean> seen = new ConcurrentHashMap<>();
return t ->
{
final List> keys = Arrays.stream(keyExtractors)
.map(ke -> ke.apply(t))
.collect(Collectors.toList());
return seen.putIfAbsent(keys, Boolean.TRUE) == null;
};
}