Package org.terracotta.offheapstore.util
Class AATreeSet<T extends java.lang.Comparable<? super T>>
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractSet<T>
-
- org.terracotta.offheapstore.util.AATreeSet<T>
-
- All Implemented Interfaces:
java.lang.Iterable<T>,java.util.Collection<T>,java.util.Set<T>,java.util.SortedSet<T>
- Direct Known Subclasses:
AATreeFileAllocator,PowerOfTwoAllocator
public class AATreeSet<T extends java.lang.Comparable<? super T>> extends java.util.AbstractSet<T> implements java.util.SortedSet<T>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classAATreeSet.AbstractTreeNode<E extends java.lang.Comparable<? super E>>static interfaceAATreeSet.Node<E extends java.lang.Comparable<? super E>>(package private) classAATreeSet.SubSet(package private) classAATreeSet.SubTreeIteratorprivate static classAATreeSet.TerminalNode(package private) classAATreeSet.TreeIteratorprivate static classAATreeSet.TreeNode<E extends java.lang.Comparable<? super E>>
-
Field Summary
Fields Modifier and Type Field Description private AATreeSet.Node<T>heirprivate AATreeSet.Node<T>itemprivate booleanmutatedprivate Tremovedprivate AATreeSet.Node<T>rootprivate intsize
-
Constructor Summary
Constructors Constructor Description AATreeSet()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanadd(T o)voidclear()java.util.Comparator<? super T>comparator()private AATreeSet.Node<T>createNode(T data)Tfind(java.lang.Object probe)private AATreeSet.Node<T>find(AATreeSet.Node<T> top, T probe)Tfirst()protected AATreeSet.Node<T>getRoot()java.util.SortedSet<T>headSet(T toElement)private AATreeSet.Node<T>insert(AATreeSet.Node<T> top, T data)booleanisEmpty()java.util.Iterator<T>iterator()Tlast()booleanremove(java.lang.Object o)private AATreeSet.Node<T>remove(AATreeSet.Node<T> top, T data)TremoveAndReturn(java.lang.Object o)intsize()private static <T extends java.lang.Comparable<? super T>>
AATreeSet.Node<T>skew(AATreeSet.Node<T> top)private static <T extends java.lang.Comparable<? super 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)-
Methods inherited from class java.util.AbstractCollection
addAll, contains, containsAll, retainAll, toArray, toArray, toString
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
-
-
-
Field Detail
-
root
private AATreeSet.Node<T extends java.lang.Comparable<? super T>> root
-
size
private int size
-
mutated
private boolean mutated
-
item
private AATreeSet.Node<T extends java.lang.Comparable<? super T>> item
-
heir
private AATreeSet.Node<T extends java.lang.Comparable<? super T>> heir
-
-
Method Detail
-
add
public boolean add(T o)
-
remove
public boolean remove(java.lang.Object o)
-
removeAndReturn
public T removeAndReturn(java.lang.Object o)
-
clear
public void clear()
-
iterator
public java.util.Iterator<T> iterator()
- Specified by:
iteratorin interfacejava.util.Collection<T extends java.lang.Comparable<? super T>>- Specified by:
iteratorin interfacejava.lang.Iterable<T extends java.lang.Comparable<? super T>>- Specified by:
iteratorin interfacejava.util.Set<T extends java.lang.Comparable<? super T>>- Specified by:
iteratorin classjava.util.AbstractCollection<T extends java.lang.Comparable<? super T>>
-
size
public int size()
-
isEmpty
public boolean isEmpty()
-
comparator
public java.util.Comparator<? super T> comparator()
-
first
public T first()
-
last
public T last()
-
find
public T find(java.lang.Object probe)
-
getRoot
protected final AATreeSet.Node<T> getRoot()
-
find
private AATreeSet.Node<T> find(AATreeSet.Node<T> top, T probe)
-
insert
private AATreeSet.Node<T> insert(AATreeSet.Node<T> top, T data)
-
createNode
private AATreeSet.Node<T> createNode(T data)
-
remove
private AATreeSet.Node<T> remove(AATreeSet.Node<T> top, T data)
-
skew
private static <T extends java.lang.Comparable<? super T>> AATreeSet.Node<T> skew(AATreeSet.Node<T> top)
-
split
private static <T extends java.lang.Comparable<? super T>> AATreeSet.Node<T> split(AATreeSet.Node<T> top)
-
-