Package mondrian.util
Class ArraySortedSet<E extends Comparable<E>>
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractSet<E>
-
- mondrian.util.ArraySortedSet<E>
-
- Type Parameters:
E-
- All Implemented Interfaces:
Serializable,Iterable<E>,Collection<E>,Set<E>,SortedSet<E>
public class ArraySortedSet<E extends Comparable<E>> extends AbstractSet<E> implements SortedSet<E>, Serializable
Implementation ofSortedSetbased on an array. The array must already be sorted in natural order.- Author:
- Julian Hyde
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description ArraySortedSet(E[] values)Creates a set backed by an array.ArraySortedSet(E[] values, int start, int end)Creates a set backed by a region of an array.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Comparator<? super E>comparator()booleancontains(Object o)Efirst()SortedSet<E>headSet(E toElement)Iterator<E>iterator()Elast()ArraySortedSet<E>merge(ArraySortedSet<E> arrayToMerge)Performs a merge between twoArraySortedSetinstances in O(n) time, returning a third instance that doesn't include duplicates.intsize()SortedSet<E>subSet(E fromElement, E toElement)SortedSet<E>tailSet(E fromElement)Object[]toArray()<T> T[]toArray(T[] a)-
Methods inherited from class java.util.AbstractSet
equals, hashCode, removeAll
-
Methods inherited from class java.util.AbstractCollection
add, addAll, clear, containsAll, isEmpty, remove, retainAll, toString
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArray
-
Methods inherited from interface java.util.Set
add, addAll, clear, containsAll, equals, hashCode, isEmpty, remove, removeAll, retainAll
-
Methods inherited from interface java.util.SortedSet
spliterator
-
-
-
-
Constructor Detail
-
ArraySortedSet
public ArraySortedSet(E[] values)
Creates a set backed by an array. The array must be sorted, and is not copied.- Parameters:
values- Array of values
-
ArraySortedSet
public ArraySortedSet(E[] values, int start, int end)
Creates a set backed by a region of an array. The array must be sorted, and is not copied.- Parameters:
values- Array of valuesstart- Index of start of regionend- Index of first element after end of region
-
-
Method Detail
-
iterator
public Iterator<E> iterator()
- Specified by:
iteratorin interfaceCollection<E extends Comparable<E>>- Specified by:
iteratorin interfaceIterable<E extends Comparable<E>>- Specified by:
iteratorin interfaceSet<E extends Comparable<E>>- Specified by:
iteratorin classAbstractCollection<E extends Comparable<E>>
-
size
public int size()
- Specified by:
sizein interfaceCollection<E extends Comparable<E>>- Specified by:
sizein interfaceSet<E extends Comparable<E>>- Specified by:
sizein classAbstractCollection<E extends Comparable<E>>
-
comparator
public Comparator<? super E> comparator()
- Specified by:
comparatorin interfaceSortedSet<E extends Comparable<E>>
-
subSet
public SortedSet<E> subSet(E fromElement, E toElement)
- Specified by:
subSetin interfaceSortedSet<E extends Comparable<E>>
-
headSet
public SortedSet<E> headSet(E toElement)
- Specified by:
headSetin interfaceSortedSet<E extends Comparable<E>>
-
tailSet
public SortedSet<E> tailSet(E fromElement)
- Specified by:
tailSetin interfaceSortedSet<E extends Comparable<E>>
-
toArray
public Object[] toArray()
- Specified by:
toArrayin interfaceCollection<E extends Comparable<E>>- Specified by:
toArrayin interfaceSet<E extends Comparable<E>>- Overrides:
toArrayin classAbstractCollection<E extends Comparable<E>>
-
toArray
public <T> T[] toArray(T[] a)
- Specified by:
toArrayin interfaceCollection<E extends Comparable<E>>- Specified by:
toArrayin interfaceSet<E extends Comparable<E>>- Overrides:
toArrayin classAbstractCollection<E extends Comparable<E>>
-
merge
public ArraySortedSet<E> merge(ArraySortedSet<E> arrayToMerge)
Performs a merge between twoArraySortedSetinstances in O(n) time, returning a third instance that doesn't include duplicates.For example, ArraySortedSet("a", "b", "c").merge(ArraySortedSet("a", "c", "e")) returns ArraySortedSet("a", "b", "c", "e")}.
- Parameters:
arrayToMerge- Other set to combine with this- Returns:
- Set containing union of the elements of inputs
- See Also:
Util.intersect(java.util.SortedSet, java.util.SortedSet)
-
contains
public boolean contains(Object o)
- Specified by:
containsin interfaceCollection<E extends Comparable<E>>- Specified by:
containsin interfaceSet<E extends Comparable<E>>- Overrides:
containsin classAbstractCollection<E extends Comparable<E>>
-
-