org.apache.cxf.common.util
Class SortedArraySet<T>

java.lang.Object
  extended by org.apache.cxf.common.util.SortedArraySet<T>
Type Parameters:
T -
All Implemented Interfaces:
java.lang.Iterable<T>, java.util.Collection<T>, java.util.Set<T>, java.util.SortedSet<T>

public final class SortedArraySet<T>
extends java.lang.Object
implements java.util.SortedSet<T>

This class implements most of the Set interface, backed by a sorted Array. This makes iterators very fast, lookups are log(n), but adds are fairly expensive. This class is also threadsafe, but without synchronizations. Lookups and iterators will iterate over the state of the Set when the iterator was created. If no data is stored in the Set, it uses very little memory. The backing array is created on demand. This class is primarly useful for stuff that will be setup at startup, but then iterated over MANY times during runtime.


Constructor Summary
SortedArraySet()
           
 
Method Summary
 boolean add(T o)
           
 boolean addAll(java.util.Collection<? extends T> c)
           
 void clear()
           
 java.util.Comparator<? super T> comparator()
           
 boolean contains(java.lang.Object o)
           
 boolean containsAll(java.util.Collection<?> c)
           
 boolean equals(java.lang.Object o)
           
 T first()
           
 int hashCode()
           
 java.util.SortedSet<T> headSet(T toElement)
           
 boolean isEmpty()
           
 java.util.Iterator<T> iterator()
           
 T last()
           
 boolean remove(java.lang.Object o)
           
 boolean removeAll(java.util.Collection<?> c)
           
 boolean retainAll(java.util.Collection<?> c)
           
 int size()
           
 java.util.SortedSet<T> subSet(T fromElement, T toElement)
           
 java.util.SortedSet<T> tailSet(T fromElement)
           
 java.lang.Object[] toArray()
           
<X> X[]
toArray(X[] a)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SortedArraySet

public SortedArraySet()
Method Detail

clear

public void clear()
Specified by:
clear in interface java.util.Collection<T>
Specified by:
clear in interface java.util.Set<T>

isEmpty

public boolean isEmpty()
Specified by:
isEmpty in interface java.util.Collection<T>
Specified by:
isEmpty in interface java.util.Set<T>

iterator

public java.util.Iterator<T> iterator()
Specified by:
iterator in interface java.lang.Iterable<T>
Specified by:
iterator in interface java.util.Collection<T>
Specified by:
iterator in interface java.util.Set<T>

size

public int size()
Specified by:
size in interface java.util.Collection<T>
Specified by:
size in interface java.util.Set<T>

add

public boolean add(T o)
Specified by:
add in interface java.util.Collection<T>
Specified by:
add in interface java.util.Set<T>

addAll

public boolean addAll(java.util.Collection<? extends T> c)
Specified by:
addAll in interface java.util.Collection<T>
Specified by:
addAll in interface java.util.Set<T>

containsAll

public boolean containsAll(java.util.Collection<?> c)
Specified by:
containsAll in interface java.util.Collection<T>
Specified by:
containsAll in interface java.util.Set<T>

contains

public boolean contains(java.lang.Object o)
Specified by:
contains in interface java.util.Collection<T>
Specified by:
contains in interface java.util.Set<T>

removeAll

public boolean removeAll(java.util.Collection<?> c)
Specified by:
removeAll in interface java.util.Collection<T>
Specified by:
removeAll in interface java.util.Set<T>

retainAll

public boolean retainAll(java.util.Collection<?> c)
Specified by:
retainAll in interface java.util.Collection<T>
Specified by:
retainAll in interface java.util.Set<T>

remove

public boolean remove(java.lang.Object o)
Specified by:
remove in interface java.util.Collection<T>
Specified by:
remove in interface java.util.Set<T>

toArray

public java.lang.Object[] toArray()
Specified by:
toArray in interface java.util.Collection<T>
Specified by:
toArray in interface java.util.Set<T>

toArray

public <X> X[] toArray(X[] a)
Specified by:
toArray in interface java.util.Collection<T>
Specified by:
toArray in interface java.util.Set<T>

equals

public boolean equals(java.lang.Object o)
Specified by:
equals in interface java.util.Collection<T>
Specified by:
equals in interface java.util.Set<T>
Overrides:
equals in class java.lang.Object

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

hashCode

public int hashCode()
Specified by:
hashCode in interface java.util.Collection<T>
Specified by:
hashCode in interface java.util.Set<T>
Overrides:
hashCode in class java.lang.Object

comparator

public java.util.Comparator<? super T> comparator()
Specified by:
comparator in interface java.util.SortedSet<T>

first

public T first()
Specified by:
first in interface java.util.SortedSet<T>

last

public T last()
Specified by:
last in interface java.util.SortedSet<T>

headSet

public java.util.SortedSet<T> headSet(T toElement)
Specified by:
headSet in interface java.util.SortedSet<T>

subSet

public java.util.SortedSet<T> subSet(T fromElement,
                                     T toElement)
Specified by:
subSet in interface java.util.SortedSet<T>

tailSet

public java.util.SortedSet<T> tailSet(T fromElement)
Specified by:
tailSet in interface java.util.SortedSet<T>


Apache CXF