T
- type of values storedpublic class AATreeSet<T extends java.lang.Comparable>
extends java.util.AbstractSet<T>
implements java.util.SortedSet<T>
Modifier and Type | Class and Description |
---|---|
static class |
AATreeSet.AbstractTreeNode<E>
Abstract node implementation that can be extended with a custom payload.
|
static interface |
AATreeSet.Node<E>
Interface implemented by nodes within this tree.
|
private class |
AATreeSet.SubSet
SortedSet representation of a range of the tree.
|
private class |
AATreeSet.SubTreeIterator
Iterator that iterates over a subset of the tree.
|
private static class |
AATreeSet.TerminalNode<E>
Node implementation that is used to mark the terminal (leaf) nodes of the tree.
|
private class |
AATreeSet.TreeIterator
Iterator that iterates over the tree.
|
private static class |
AATreeSet.TreeNode<E extends java.lang.Comparable>
Default Comparable wrapping node implementation.
|
Modifier and Type | Field and Description |
---|---|
private AATreeSet.Node<T> |
heir |
private AATreeSet.Node<T> |
item |
private boolean |
mutated |
private T |
removed |
private AATreeSet.Node<T> |
root |
private int |
size |
private static AATreeSet.Node<?> |
TERMINAL |
Constructor and Description |
---|
AATreeSet() |
Modifier and Type | Method and Description |
---|---|
boolean |
add(T o) |
void |
clear() |
java.util.Comparator<? super T> |
comparator() |
private AATreeSet.Node<T> |
createNode(T data) |
private AATreeSet.Node<T> |
find(AATreeSet.Node<T> top,
T probe) |
T |
find(java.lang.Object probe)
Find the node within this tree equal to the probe node.
|
T |
first() |
protected AATreeSet.Node<T> |
getRoot()
Returns the root node of this tree.
|
java.util.SortedSet<T> |
headSet(T toElement) |
private AATreeSet.Node<T> |
insert(AATreeSet.Node<T> top,
T data) |
boolean |
isEmpty() |
java.util.Iterator<T> |
iterator() |
T |
last() |
private AATreeSet.Node<T> |
remove(AATreeSet.Node<T> top,
T data) |
boolean |
remove(java.lang.Object o) |
T |
removeAndReturn(java.lang.Object o)
Remove the node matching this object and return it.
|
int |
size() |
private static <T> AATreeSet.Node<T> |
skew(AATreeSet.Node<T> top) |
private static <T> AATreeSet.Node<T> |
split(AATreeSet.Node<T> top) |
java.util.SortedSet<T> |
subSet(T fromElement,
T toElement) |
java.util.SortedSet<T> |
tailSet(T fromElement) |
private AATreeSet.Node<T> |
terminal() |
addAll, contains, containsAll, retainAll, toArray, toArray, toString
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
private static final AATreeSet.Node<?> TERMINAL
private AATreeSet.Node<T extends java.lang.Comparable> root
private int size
private boolean mutated
private AATreeSet.Node<T extends java.lang.Comparable> item
private AATreeSet.Node<T extends java.lang.Comparable> heir
private T extends java.lang.Comparable removed
public boolean add(T o)
public boolean remove(java.lang.Object o)
public T removeAndReturn(java.lang.Object o)
public void clear()
public java.util.Iterator<T> iterator()
iterator
in interface java.lang.Iterable<T extends java.lang.Comparable>
iterator
in interface java.util.Collection<T extends java.lang.Comparable>
iterator
in interface java.util.Set<T extends java.lang.Comparable>
iterator
in class java.util.AbstractCollection<T extends java.lang.Comparable>
public int size()
public boolean isEmpty()
public java.util.Comparator<? super T> comparator()
comparator
in interface java.util.SortedSet<T extends java.lang.Comparable>
public java.util.SortedSet<T> subSet(T fromElement, T toElement)
subSet
in interface java.util.SortedSet<T extends java.lang.Comparable>
public java.util.SortedSet<T> headSet(T toElement)
headSet
in interface java.util.SortedSet<T extends java.lang.Comparable>
public java.util.SortedSet<T> tailSet(T fromElement)
tailSet
in interface java.util.SortedSet<T extends java.lang.Comparable>
public T first()
first
in interface java.util.SortedSet<T extends java.lang.Comparable>
public T last()
last
in interface java.util.SortedSet<T extends java.lang.Comparable>
public T find(java.lang.Object probe)
private AATreeSet.Node<T> terminal()
protected final AATreeSet.Node<T> getRoot()
private AATreeSet.Node<T> find(AATreeSet.Node<T> top, T probe)
private AATreeSet.Node<T> insert(AATreeSet.Node<T> top, T data)
private AATreeSet.Node<T> createNode(T data)
private AATreeSet.Node<T> remove(AATreeSet.Node<T> top, T data)
private static <T> AATreeSet.Node<T> skew(AATreeSet.Node<T> top)
private static <T> AATreeSet.Node<T> split(AATreeSet.Node<T> top)