Package ch.rfin.util
Class Pairs
java.lang.Object
ch.rfin.util.Pairs
public final class Pairs
extends java.lang.Object
Utilities for working with pairs.
-
Constructor Summary
Constructors Constructor Description Pairs() -
Method Summary
Modifier and Type Method Description static <T1, T2> java.util.function.BiConsumer<T1,T2>biConsumer(java.util.function.Consumer<Pair<T1,T2>> f)Takes a unary consumer of pairs and returns a binary consumer.static <T1, T2, R> java.util.function.BiFunction<T1,T2,R>biFunction(java.util.function.Function<Pair<T1,T2>,R> f)Takes a unary function from pairs and returns a binary function.static <T1, T2> java.util.function.BiPredicate<T1,T2>biPredicate(java.util.function.Predicate<Pair<T1,T2>> f)Takes a unary predicate from pairs and returns a binary predicate.static <T1, T2> java.util.function.Consumer<Pair<T1,T2>>consumer(java.util.function.BiConsumer<T1,T2> f)Takes a binary consumer and returns a consumer that is unary for pairs.static <T1, T2, R> java.util.function.Function<Pair<T1,T2>,R>function(java.util.function.BiFunction<T1,T2,R> f)Takes a binary function and returns a function that is unary for pairs.static <T> Pair<T,T>pairFrom(java.util.List<T> items)Converts a list to a pair.static <T, S> Pair<T,S>pairFrom(java.util.Map.Entry<T,S> entry)Converts a Map.Entry to a pair.static <T> java.util.List<Pair<T,T>>pairs(java.util.List<T> items)Converts a list to a list of pairs.static <K, V> java.util.List<Pair<K,V>>pairs(java.util.Map<K,V> items)Converts a Map to a list of pairs.static <T1, T2> java.util.function.Predicate<Pair<T1,T2>>predicate(java.util.function.BiPredicate<T1,T2> f)Takes a binary predicate and returns a predicate that is unary for pairs.static <K, V> java.util.Map<K,V>toMap(java.util.Collection<Pair<K,V>> items)Converts a collection of pairs to a Map.static <T, R> java.util.function.Function<T,Pair<T,R>>withId(java.util.function.Function<T,R> f)Takes a function and returns a function to pairs, where the first element is the original input and the second element is the mapping.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
Pairs
public Pairs()
-
-
Method Details
-
pairFrom
Converts a Map.Entry to a pair.- Returns:
(key, value).
-
pairFrom
Converts a list to a pair.- Returns:
(x0, x1).
-
pairs
Converts a list to a list of pairs.- Returns:
[(x0, x1), (x2, x3), ...].- Throws:
java.lang.IllegalArgumentException- if uneven number of items
-
pairs
Converts a Map to a list of pairs.- Returns:
[(k0, v0), (k1, v1), ...].
-
toMap
Converts a collection of pairs to a Map.- Returns:
[(k0, v0), (k1, v1), ...].
-
function
public static <T1, T2, R> java.util.function.Function<Pair<T1,T2>,R> function(java.util.function.BiFunction<T1,T2,R> f)Takes a binary function and returns a function that is unary for pairs. AllowsstreamOfPairs.map(function(f))instead ofstreamOfPairs.map(p -> f.apply(p._1, p._2)).- See Also:
Pair.apply(BiFunction)
-
biFunction
public static <T1, T2, R> java.util.function.BiFunction<T1,T2,R> biFunction(java.util.function.Function<Pair<T1,T2>,R> f)Takes a unary function from pairs and returns a binary function. -
predicate
public static <T1, T2> java.util.function.Predicate<Pair<T1,T2>> predicate(java.util.function.BiPredicate<T1,T2> f)Takes a binary predicate and returns a predicate that is unary for pairs. AllowsstreamOfPairs.filter(predicate(f))instead ofstreamOfPairs.filter(p -> f.test(p._1, p._2)).- See Also:
Pair.test(BiPredicate)
-
biPredicate
public static <T1, T2> java.util.function.BiPredicate<T1,T2> biPredicate(java.util.function.Predicate<Pair<T1,T2>> f)Takes a unary predicate from pairs and returns a binary predicate. -
consumer
public static <T1, T2> java.util.function.Consumer<Pair<T1,T2>> consumer(java.util.function.BiConsumer<T1,T2> f)Takes a binary consumer and returns a consumer that is unary for pairs. AllowsstreamOfPairs.forEach(consumer(f))instead ofstreamOfPairs.forEach(p -> f.accept(p._1, p._2)).- See Also:
Pair.accept(BiConsumer)
-
biConsumer
public static <T1, T2> java.util.function.BiConsumer<T1,T2> biConsumer(java.util.function.Consumer<Pair<T1,T2>> f)Takes a unary consumer of pairs and returns a binary consumer. -
withId
public static <T, R> java.util.function.Function<T,Pair<T,R>> withId(java.util.function.Function<T,R> f)Takes a function and returns a function to pairs, where the first element is the original input and the second element is the mapping.(f: x -> y) -> (g: x -> (x,y))
-