public final class Algorithms
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static interface |
Algorithms.Action<T> |
Modifier and Type | Method and Description |
---|---|
static <A> UnaryPredicate<A> |
and(UnaryPredicate<A> arg1,
UnaryPredicate<A> arg2) |
static java.util.List |
convertToList(java.lang.Object arg)
Converts obj from an Array to a List, if obj is an array.
|
static java.lang.String |
convertToString(java.lang.Object arg)
Convert argument to String, either by toString, ot Arrays.toString.
|
static <T> T |
doPrivileged(Algorithms.Action<T> func) |
static <T> UnaryPredicate<T> |
FALSE(java.lang.Class<T> cls) |
static <A> void |
filter(java.util.List<A> arg,
java.util.List<A> result,
UnaryPredicate<A> predicate) |
static <A> java.util.List<A> |
filter(java.util.List<A> arg,
UnaryPredicate<A> predicate) |
static <A> A |
find(java.util.List<A> arg,
UnaryPredicate<A> predicate) |
static <S,T> java.util.List<T> |
flatten(java.util.List<S> list,
UnaryFunction<S,java.util.List<T>> map)
Flatten the results of applying map to list into a list of T.
|
static <A,R> R |
fold(java.util.List<A> list,
R initial,
BinaryFunction<R,A,R> func) |
static java.util.Map<java.lang.String,java.lang.Object> |
getAnnotationValues(java.lang.annotation.Annotation ann,
boolean convertArraysToLists)
Given an annotation, return a Map that maps each field (given by a
method name) to its value in the annotation.
|
static <T> T |
getFirst(java.util.Collection<T> list,
java.lang.Runnable handleEmptyList)
Return the first element of the list, or invoke handleEmptyList if
list is empty.
|
static <T> java.util.List<T> |
list(T... arg) |
static <A,R> void |
map(java.util.Collection<A> arg,
java.util.Collection<R> result,
UnaryFunction<A,R> func) |
static <A,R> java.util.List<R> |
map(java.util.List<A> arg,
UnaryFunction<A,R> func) |
static <K,A,R> java.util.Map<K,R> |
map(java.util.Map<K,A> arg,
UnaryFunction<A,R> func) |
static <K,V> java.util.Map<K,V> |
map(Pair<K,V>... pairs) |
static <A,R> UnaryFunction<A,R> |
mapToFunction(java.util.Map<A,R> map) |
static <A> UnaryPredicate<A> |
not(UnaryPredicate<A> arg1) |
static <A> UnaryPredicate<A> |
or(UnaryPredicate<A> arg1,
UnaryPredicate<A> arg2) |
static <S,T> Pair<S,T> |
pair(S first,
T second) |
static <T> UnaryPredicate<T> |
TRUE(java.lang.Class<T> cls) |
public static <T> java.util.List<T> list(T... arg)
public static <S,T> Pair<S,T> pair(S first, T second)
public static <K,V> java.util.Map<K,V> map(Pair<K,V>... pairs)
public static <A,R> UnaryFunction<A,R> mapToFunction(java.util.Map<A,R> map)
public static <A,R> void map(java.util.Collection<A> arg, java.util.Collection<R> result, UnaryFunction<A,R> func)
public static <K,A,R> java.util.Map<K,R> map(java.util.Map<K,A> arg, UnaryFunction<A,R> func)
public static <A,R> java.util.List<R> map(java.util.List<A> arg, UnaryFunction<A,R> func)
public static <A> UnaryPredicate<A> and(UnaryPredicate<A> arg1, UnaryPredicate<A> arg2)
public static <A> UnaryPredicate<A> or(UnaryPredicate<A> arg1, UnaryPredicate<A> arg2)
public static <T> UnaryPredicate<T> FALSE(java.lang.Class<T> cls)
public static <T> UnaryPredicate<T> TRUE(java.lang.Class<T> cls)
public static <A> UnaryPredicate<A> not(UnaryPredicate<A> arg1)
public static <A> void filter(java.util.List<A> arg, java.util.List<A> result, UnaryPredicate<A> predicate)
public static <A> java.util.List<A> filter(java.util.List<A> arg, UnaryPredicate<A> predicate)
public static <A> A find(java.util.List<A> arg, UnaryPredicate<A> predicate)
public static <A,R> R fold(java.util.List<A> list, R initial, BinaryFunction<R,A,R> func)
public static <S,T> java.util.List<T> flatten(java.util.List<S> list, UnaryFunction<S,java.util.List<T>> map)
S
- Type of elements of list.T
- Type of elements of result.list
- List of elements of type S.map
- function mapping S to Listpublic static <T> T getFirst(java.util.Collection<T> list, java.lang.Runnable handleEmptyList)
T
- The type of the list element.list
- The listhandleEmptyList
- A runnable to call when the list is empty. Typically
throws an exception.public static java.util.List convertToList(java.lang.Object arg)
public static java.lang.String convertToString(java.lang.Object arg)
arg
- Object to convert.public static java.util.Map<java.lang.String,java.lang.Object> getAnnotationValues(java.lang.annotation.Annotation ann, boolean convertArraysToLists)
ann
- The annotation to examine.convertArraysToLists
- true if annotation values of array type
should be converted to an appropriate list. This is often MUCH more
useful, but some contexts require arrays.public static <T> T doPrivileged(Algorithms.Action<T> func)