io.alapierre.func.Predicates Maven / Gradle / Ivy
The newest version!
package io.alapierre.func;
import org.jetbrains.annotations.NotNull;
import java.util.Collection;
import java.util.List;
import java.util.Objects;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.function.Function;
import java.util.function.Predicate;
import java.util.stream.Collectors;
/**
* @author Adrian Lapierre {@literal [email protected]}
* Copyrights by original author 2020.10.02
*/
public class Predicates {
public static Predicate notNull() {
return (Predicate) Objects::nonNull;
}
/**
* Ogranicza do unikalnych elementów wg podanego klucza
*
* @param keyExtractor funkcja mapująca element do wartości po jakiej ma być wykonany distinct
* @param typ elementu kolekcji
* @return predykat do użycia w metodzie filter
*/
public static Predicate distinctByKey(@NotNull Function super T, ?> keyExtractor) {
Set