public class IntervalTree<E extends java.lang.Comparable<E>,T extends HasInterval<E>>
extends java.lang.Object
Constructor and Description |
---|
IntervalTree() |
Modifier and Type | Method and Description |
---|---|
void |
add(T target) |
void |
addAll(java.util.Collection<T> c) |
boolean |
addNonNested(T target) |
boolean |
addNonOverlapping(T target) |
static <E extends java.lang.Comparable<E>,T extends HasInterval<E>> |
contains(IntervalTree<E,T> n,
E p) |
static <E extends java.lang.Comparable<E>,T extends HasInterval<E>> |
contains(IntervalTree<E,T> n,
Interval<E> target) |
boolean |
contains(T target) |
IntervalTree<E,T> |
getLeftmostNode() |
static <T,E extends java.lang.Comparable<E>> |
getNonNested(java.util.List<? extends T> items,
Function<? super T,Interval<E>> toIntervalFunc,
java.util.Comparator<? super T> compareFunc) |
static <T extends HasInterval<E>,E extends java.lang.Comparable<E>> |
getNonOverlapping(java.util.List<? extends T> items) |
static <T extends HasInterval<E>,E extends java.lang.Comparable<E>> |
getNonOverlapping(java.util.List<? extends T> items,
java.util.Comparator<? super T> compareFunc) |
static <T,E extends java.lang.Comparable<E>> |
getNonOverlapping(java.util.List<? extends T> items,
Function<? super T,Interval<E>> toIntervalFunc) |
static <T,E extends java.lang.Comparable<E>> |
getNonOverlapping(java.util.List<? extends T> items,
Function<? super T,Interval<E>> toIntervalFunc,
java.util.Comparator<? super T> compareFunc) |
static <E extends java.lang.Comparable<E>,T extends HasInterval<E>> |
getOverlapping(IntervalTree<E,T> n,
E p) |
static <E extends java.lang.Comparable<E>,T extends HasInterval<E>> |
getOverlapping(IntervalTree<E,T> n,
E p,
java.util.List<T> result) |
static <E extends java.lang.Comparable<E>,T extends HasInterval<E>> |
getOverlapping(IntervalTree<E,T> n,
Interval<E> target) |
static <E extends java.lang.Comparable<E>,T extends HasInterval<E>> |
getOverlapping(IntervalTree<E,T> n,
Interval<E> target,
java.util.List<T> result) |
java.util.List<T> |
getOverlapping(T target) |
IntervalTree<E,T> |
getRightmostNode() |
boolean |
isEmpty() |
static <E extends java.lang.Comparable<E>,T extends HasInterval<E>> |
overlaps(IntervalTree<E,T> n,
E p) |
static <E extends java.lang.Comparable<E>,T extends HasInterval<E>> |
overlaps(IntervalTree<E,T> n,
Interval<E> target) |
boolean |
overlaps(T target) |
boolean |
remove(T target) |
int |
size() |
public boolean isEmpty()
public void addAll(java.util.Collection<T> c)
public void add(T target)
public int size()
public boolean remove(T target)
public IntervalTree<E,T> getLeftmostNode()
public IntervalTree<E,T> getRightmostNode()
public boolean addNonOverlapping(T target)
public boolean addNonNested(T target)
public boolean overlaps(T target)
public static <E extends java.lang.Comparable<E>,T extends HasInterval<E>> java.util.List<T> getOverlapping(IntervalTree<E,T> n, E p)
public static <E extends java.lang.Comparable<E>,T extends HasInterval<E>> java.util.List<T> getOverlapping(IntervalTree<E,T> n, Interval<E> target)
public static <E extends java.lang.Comparable<E>,T extends HasInterval<E>> void getOverlapping(IntervalTree<E,T> n, E p, java.util.List<T> result)
public static <E extends java.lang.Comparable<E>,T extends HasInterval<E>> void getOverlapping(IntervalTree<E,T> n, Interval<E> target, java.util.List<T> result)
public static <E extends java.lang.Comparable<E>,T extends HasInterval<E>> boolean overlaps(IntervalTree<E,T> n, E p)
public static <E extends java.lang.Comparable<E>,T extends HasInterval<E>> boolean overlaps(IntervalTree<E,T> n, Interval<E> target)
public boolean contains(T target)
public static <E extends java.lang.Comparable<E>,T extends HasInterval<E>> boolean contains(IntervalTree<E,T> n, E p)
public static <E extends java.lang.Comparable<E>,T extends HasInterval<E>> boolean contains(IntervalTree<E,T> n, Interval<E> target)
public static <T,E extends java.lang.Comparable<E>> java.util.List<T> getNonOverlapping(java.util.List<? extends T> items, Function<? super T,Interval<E>> toIntervalFunc)
public static <T,E extends java.lang.Comparable<E>> java.util.List<T> getNonOverlapping(java.util.List<? extends T> items, Function<? super T,Interval<E>> toIntervalFunc, java.util.Comparator<? super T> compareFunc)
public static <T extends HasInterval<E>,E extends java.lang.Comparable<E>> java.util.List<T> getNonOverlapping(java.util.List<? extends T> items, java.util.Comparator<? super T> compareFunc)
public static <T extends HasInterval<E>,E extends java.lang.Comparable<E>> java.util.List<T> getNonOverlapping(java.util.List<? extends T> items)