Javolution 6.0.0 java
|
Public Member Functions | |
FastSet () | |
FastSet (Equality<? super E > comparator) | |
FastSet< E > | atomic () |
FastSet< E > | filtered (final Predicate<? super E > filter) |
FastSet< E > | shared () |
FastSet< E > | unmodifiable () |
boolean | isEmpty () |
int | size () |
void | clear () |
boolean | contains (Object obj) |
boolean | remove (Object obj) |
FastSet< E > | addAll (E... elements) |
FastSet< E > | addAll (FastCollection<? extends E > that) |
FastCollection< E > | parallel () |
FastCollection< E > | sequential () |
FastCollection< E > | sorted () |
FastCollection< E > | sorted (Comparator<? super E > cmp) |
FastCollection< E > | reversed () |
FastCollection< E > | distinct () |
void | perform (Consumer<? extends Collection< E >> action) |
void | update (Consumer<? extends Collection< E >> action) |
void | forEach (final Consumer<? super E > consumer) |
boolean | removeIf (final Predicate<? super E > filter) |
E | reduce (Reducer< E > reducer) |
boolean | add (E element) |
Iterator< E > | iterator () |
boolean | addAll (final Collection<? extends E > that) |
boolean | containsAll (Collection<?> that) |
boolean | removeAll (final Collection<?> that) |
boolean | retainAll (final Collection<?> that) |
Object[] | toArray () |
E | min () |
E | max () |
Equality<? super E > | comparator () |
boolean | equals (Object obj) |
int | hashCode () |
String | toString () |
Protected Member Functions | |
FastSet (SetService< E > service) | |
SetService< E > | service () |
Static Protected Member Functions | |
static< E > CollectionService< E > | serviceOf (FastCollection< E > collection) |
Package Functions | |
public< R > FastCollection< R > | mapped (Function<? super E, ? extends R > function) |
public< T > T[] | toArray (final T[] array) |
public< T extends E > T | any (Class< T > type) |
public< T extends Collection< E > > Immutable< T > | toImmutable () |
Private Attributes | |
final SetService< E > | service |
Static Private Attributes | |
static final long | serialVersionUID = 0x600L |
A high-performance hash set with real-time behavior.
The iteration order over the set elements is deterministic (unlike java.util.HashSet).It is either the insertion order (default) or the key order for the FastSortedSet subclass. This class permits
elements.
Definition at line 37 of file FastSet.java.
javolution.util.FastSet< E >.FastSet | ( | ) |
Creates an empty set backed up by a FastMap and having
the same real-time characteristics.
Definition at line 50 of file FastSet.java.
javolution.util.FastSet< E >.FastSet | ( | Equality<? super E > | comparator | ) |
Creates an empty set backed up by a FastMap and using the specified comparator for key equality.
Definition at line 58 of file FastSet.java.
|
protected |
Creates a fast set backed up by the specified service implementation.
Definition at line 66 of file FastSet.java.
|
inherited |
Adds the specified element to this collection
Reimplemented in javolution.util.internal.collection.FilteredCollectionImpl< E >, javolution.util.internal.collection.SharedCollectionImpl< E >, javolution.util.internal.collection.DistinctCollectionImpl< E >, javolution.util.internal.table.FastTableImpl< E >, javolution.util.internal.collection.AtomicCollectionImpl< E >, javolution.util.internal.table.SubTableImpl< E >, javolution.util.internal.collection.UnmodifiableCollectionImpl< E >, javolution.util.internal.collection.CollectionView< E >, javolution.util.internal.table.sorted.FastSortedTableImpl< E >, javolution.util.internal.table.UnmodifiableTableImpl< E >, javolution.util.FastSortedSet< E >, javolution.util.internal.collection.SortedCollectionImpl< E >, javolution.util.internal.set.sorted.SubSortedSetImpl< E >, javolution.util.internal.table.ReversedTableImpl< E >, javolution.util.internal.collection.ReversedCollectionImpl< E >, javolution.util.internal.collection.ParallelCollectionImpl< E >, and javolution.util.internal.collection.SequentialCollectionImpl< E >.
Definition at line 408 of file FastCollection.java.
FastSet<E> javolution.util.FastSet< E >.addAll | ( | E... | elements | ) |
Returns this collection with the specified element added.
elements | the elements to be added. |
Reimplemented from javolution.util.FastCollection< E >.
Reimplemented in javolution.util.FastSortedSet< E >.
Definition at line 133 of file FastSet.java.
FastSet<E> javolution.util.FastSet< E >.addAll | ( | FastCollection<? extends E > | that | ) |
Returns this collection with the specified collection's elements added in sequence.
Reimplemented from javolution.util.FastCollection< E >.
Reimplemented in javolution.util.FastSortedSet< E >.
Definition at line 138 of file FastSet.java.
|
inherited |
Adds all the specified elements to this collection.
Reimplemented in javolution.util.internal.collection.SharedCollectionImpl< E >, javolution.util.internal.collection.AtomicCollectionImpl< E >, and javolution.util.internal.collection.CollectionView< E >.
Definition at line 462 of file FastCollection.java.
|
packageinherited |
Returns any non-null element of the specified type (convenience method).
type | the element type searched for. |
Definition at line 515 of file FastCollection.java.
References javolution.util.function.Reducers.any().
FastSet<E> javolution.util.FastSet< E >.atomic | ( | ) |
Returns an atomic view over this collection. All operations that write or access multiple elements in the collection (such as addAll(), retainAll()) are atomic. Iterators on atomic collections are thread-safe (no ConcurrentModificationException possible).
Reimplemented from javolution.util.FastCollection< E >.
Reimplemented in javolution.util.FastSortedSet< E >.
Definition at line 75 of file FastSet.java.
void javolution.util.FastSet< E >.clear | ( | ) |
Removes all elements from this collection.
Reimplemented from javolution.util.FastCollection< E >.
Definition at line 112 of file FastSet.java.
|
inherited |
Returns the comparator uses by this collection for equality and/or ordering if this collection is sorted.
Reimplemented in javolution.util.internal.collection.SharedCollectionImpl< E >, javolution.util.internal.bitset.BitSetServiceImpl, javolution.util.internal.table.FastTableImpl< E >, javolution.util.internal.table.SubTableImpl< E >, javolution.util.internal.collection.AtomicCollectionImpl< E >, javolution.util.internal.collection.SortedCollectionImpl< E >, javolution.util.internal.set.sorted.SubSortedSetImpl< E >, javolution.util.internal.collection.CollectionView< E >, javolution.util.internal.collection.FilteredCollectionImpl< E >, javolution.util.internal.table.UnmodifiableTableImpl< E >, javolution.util.internal.collection.DistinctCollectionImpl< E >, javolution.util.internal.map.MapView< K, V >.EntrySet, javolution.util.internal.table.ReversedTableImpl< E >, javolution.util.internal.collection.ReversedCollectionImpl< E >, javolution.util.internal.collection.UnmodifiableCollectionImpl< E >, javolution.util.internal.collection.ParallelCollectionImpl< E >, and javolution.util.internal.collection.SequentialCollectionImpl< E >.
Definition at line 574 of file FastCollection.java.
Referenced by javolution.util.FastSet< Index >.FastSet(), javolution.util.FastSortedSet< E >.FastSortedSet(), javolution.util.FastSortedTable< E >.FastSortedTable(), and javolution.util.FastTable< javolution.xml.internal.stream.XMLStreamReaderImpl >.FastTable().
boolean javolution.util.FastSet< E >.contains | ( | Object | searched | ) |
Indicates if this collection contains the specified element.
Reimplemented from javolution.util.FastCollection< E >.
Reimplemented in javolution.util.FastSortedSet< E >.
Definition at line 118 of file FastSet.java.
|
inherited |
Indicates if this collection contains all the specified elements.
Reimplemented in javolution.util.internal.collection.SharedCollectionImpl< E >, javolution.util.internal.collection.AtomicCollectionImpl< E >, and javolution.util.internal.collection.CollectionView< E >.
Definition at line 469 of file FastCollection.java.
|
inherited |
Returns a view exposing only distinct elements (it does not iterate twice over the same elements). Adding elements already in the collection through this view has no effect. If this collection is initially empty, using a distinct view to add new elements ensures that this collection has no duplicate.
Definition at line 293 of file FastCollection.java.
|
inherited |
Compares the specified object with this collection for equality. This method follows the Collection#equals(Object) specification if this collection comparator is Equalities#STANDARD (default). Otherwise, only collections using the same comparator can be considered equals.
obj | the object to be compared for equality with this collection |
true
if both collections are considered equals; false
otherwise. Reimplemented in javolution.util.internal.collection.SharedCollectionImpl< E >, javolution.util.internal.collection.AtomicCollectionImpl< E >, and javolution.util.internal.collection.CollectionView< E >.
Definition at line 611 of file FastCollection.java.
FastSet<E> javolution.util.FastSet< E >.filtered | ( | final Predicate<? super E > | filter | ) |
Returns a view exposing only the elements matching the specified filter. Adding elements not matching the specified filter has no effect. If this collection is initially empty, using a filtered view to add new elements ensure that this collection has only elements satisfying the filter predicate.
Reimplemented from javolution.util.FastCollection< E >.
Definition at line 80 of file FastSet.java.
|
inherited |
Iterates over all this collection elements applying the specified consumer (convenience method). Iterations are performed concurrently if the collection is parallel.
consumer | the functional consumer applied to the collection elements. |
Definition at line 346 of file FastCollection.java.
References javolution.util.function.Consumer< T >.accept().
|
inherited |
Returns the hash code of this collection. This method follows the Collection#hashCode() specification if this collection comparator is Equalities#STANDARD.
Reimplemented in javolution.util.internal.collection.SharedCollectionImpl< E >, javolution.util.internal.collection.CollectionView< E >, and javolution.util.internal.collection.AtomicCollectionImpl< E >.
Definition at line 625 of file FastCollection.java.
boolean javolution.util.FastSet< E >.isEmpty | ( | ) |
Indicates if this collection is empty.
Reimplemented from javolution.util.FastCollection< E >.
Definition at line 100 of file FastSet.java.
|
inherited |
Returns an iterator over this collection elements. For shared/atomic collections the iterator is immune to concurrent modifications. In other words the elements iterated over may or may not reflect the current state of the collection.
Reimplemented in javolution.util.internal.bitset.BitSetServiceImpl, javolution.util.internal.collection.SharedCollectionImpl< E >, javolution.util.internal.collection.CollectionView< E >, javolution.util.internal.table.FastTableImpl< E >, javolution.util.internal.table.SharedTableImpl< E >, javolution.util.internal.collection.AtomicCollectionImpl< E >, javolution.util.internal.set.sorted.SubSortedSetImpl< E >, javolution.util.internal.table.TableView< E >, javolution.util.internal.collection.SortedCollectionImpl< E >, javolution.util.internal.map.MapView< K, V >.EntrySet, javolution.util.internal.collection.DistinctCollectionImpl< E >, javolution.util.internal.collection.FilteredCollectionImpl< E >, javolution.util.internal.table.AtomicTableImpl< E >, javolution.util.internal.collection.ReversedCollectionImpl< E >, javolution.util.internal.collection.UnmodifiableCollectionImpl< E >, javolution.util.internal.collection.ParallelCollectionImpl< E >, and javolution.util.internal.collection.SequentialCollectionImpl< E >.
Definition at line 455 of file FastCollection.java.
Referenced by javolution.xml.internal.stream.NamespacesImpl.getPrefixes().
|
packageinherited |
Returns a view exposing elements through the specified mapping function. The returned view does not allow new elements to be added.
Definition at line 258 of file FastCollection.java.
Referenced by javolution.xml.internal.stream.EntitiesImpl.setEntitiesMapping().
|
inherited |
Returns the largest element of this collection using this collection comparator (convenience method). Returns
if this collection is empty.
Definition at line 541 of file FastCollection.java.
References javolution.util.function.Reducers.max().
|
inherited |
Returns the smallest element of this collection using this collection comparator (convenience method). Returns
if this collection is empty.
Definition at line 528 of file FastCollection.java.
References javolution.util.function.Reducers.min().
|
inherited |
Returns a parallel collection. Parallel collections affect only closure-based operations, all others operations behaving the same. Parallel actions are performed concurrently using Javolution ConcurrentContext. The number of parallel views is derived from the context concurrency (
). Parallel views do not require this collection to be thread-safe (internal synchronization).
Definition at line 222 of file FastCollection.java.
|
inherited |
Executes the specified read-only action on this collection. That logic may be performed concurrently on sub-collections if this collection is parallel.
action | the read-only action. |
UnsupportedOperationException | if the action tries to update this collection and this collection is thread-safe. |
ClassCastException | if the action type is not compatible with this collection (e.g. action on set and this is a list). |
Definition at line 315 of file FastCollection.java.
|
inherited |
Performs a reduction of the elements of this collection using the specified reducer. This may not involve iterating over all the collection elements, for example the reducers: Reducers#any, Reducers#and and Reducers#or may stop iterating early. Reduction is performed concurrently if this collection is parallel.
reducer | the collection reducer. |
Definition at line 396 of file FastCollection.java.
boolean javolution.util.FastSet< E >.remove | ( | Object | searched | ) |
Removes the specified element from this collection.
Reimplemented from javolution.util.FastCollection< E >.
Reimplemented in javolution.util.FastSortedSet< E >.
Definition at line 124 of file FastSet.java.
|
inherited |
Removes all the specified element from this collection.
Reimplemented in javolution.util.internal.collection.SharedCollectionImpl< E >, javolution.util.internal.collection.CollectionView< E >, and javolution.util.internal.collection.AtomicCollectionImpl< E >.
Definition at line 476 of file FastCollection.java.
|
inherited |
Removes from this collection all the elements matching the specified functional predicate (convenience method). Removals are performed concurrently if this collection is parallel and atomically if this collection is atomic.
filter | a predicate returning true
|
Definition at line 368 of file FastCollection.java.
|
inherited |
Removes all the elements except those in the specified collection.
Reimplemented in javolution.util.internal.collection.SharedCollectionImpl< E >, javolution.util.internal.collection.CollectionView< E >, and javolution.util.internal.collection.AtomicCollectionImpl< E >.
Definition at line 483 of file FastCollection.java.
|
inherited |
Returns a view exposing elements in reverse iterative order.
Reimplemented in javolution.util.FastTable< E >.
Definition at line 282 of file FastCollection.java.
|
inherited |
Returns a sequential view of this collection. Using this view, all closure-based iterations are performed sequentially.
Definition at line 230 of file FastCollection.java.
|
protected |
Returns the service implementation of this collection (for sub-classes).
Reimplemented from javolution.util.FastCollection< E >.
Reimplemented in javolution.util.FastSortedSet< E >.
Definition at line 143 of file FastSet.java.
|
staticprotectedinherited |
Returns the service implementation of any fast collection (for sub-classes).
Definition at line 647 of file FastCollection.java.
References javolution.util.FastCollection< E >.service().
FastSet<E> javolution.util.FastSet< E >.shared | ( | ) |
Returns a thread-safe view over this collection. The shared view allows for concurrent read as long as there is no writer. The default implementation is based on readers-writers locks giving priority to writers. Iterators on shared collections are thread-safe (no ConcurrentModificationException possible).
Reimplemented from javolution.util.FastCollection< E >.
Reimplemented in javolution.util.FastSortedSet< E >.
Definition at line 85 of file FastSet.java.
int javolution.util.FastSet< E >.size | ( | ) |
Returns the size of this collection.
Reimplemented from javolution.util.FastCollection< E >.
Definition at line 106 of file FastSet.java.
Referenced by javolution.util.FastSet< Index >.isEmpty().
|
inherited |
Returns a view exposing elements sorted according to the collection order.
Definition at line 267 of file FastCollection.java.
Referenced by javolution.util.internal.collection.SortedCollectionImpl< E >.IteratorImpl.IteratorImpl().
|
inherited |
Returns a view exposing elements sorted according to the specified comparator.
Definition at line 275 of file FastCollection.java.
|
inherited |
Returns an array holding this collection elements.
Reimplemented in javolution.util.internal.collection.SharedCollectionImpl< E >, javolution.util.internal.collection.CollectionView< E >, and javolution.util.internal.collection.AtomicCollectionImpl< E >.
Definition at line 490 of file FastCollection.java.
|
packageinherited |
Returns the specified array holding this collection elements if enough capacity.
Reimplemented in javolution.util.internal.collection.SharedCollectionImpl< E >, javolution.util.internal.collection.CollectionView< E >, and javolution.util.internal.collection.AtomicCollectionImpl< E >.
Definition at line 498 of file FastCollection.java.
|
packageinherited |
Returns an immutable reference over this collection. The immutable value is an unmodifiable view of this collection. The caller must guarantees that the original collection is never going to be updated (e.g. there is no reference left of the original collection).
Definition at line 585 of file FastCollection.java.
|
inherited |
Returns the string representation of this collection using its default format.
Definition at line 634 of file FastCollection.java.
References javolution.text.TextContext.getFormat().
FastSet<E> javolution.util.FastSet< E >.unmodifiable | ( | ) |
Returns an unmodifiable view over this collection. Any attempt to modify the collection through this view will result into a java.lang.UnsupportedOperationException being raised.
Reimplemented from javolution.util.FastCollection< E >.
Reimplemented in javolution.util.FastSortedSet< E >.
Definition at line 90 of file FastSet.java.
|
inherited |
Executes the specified update action on this collection. That logic may be performed concurrently on sub-collections if this collection is parallel. For atomic collections the update is atomic (either concurrent readers see the full result of the action or nothing).
action | the update action. |
ClassCastException | if the action type is not compatible with this collection (e.g. action on set and this is a list). |
Definition at line 334 of file FastCollection.java.
Referenced by javolution.util.FastTable< javolution.xml.internal.stream.XMLStreamReaderImpl >.sort().
|
staticprivate |
Definition at line 39 of file FastSet.java.
|
private |
Holds the actual service implementation.
Reimplemented in javolution.util.FastSortedSet< E >.
Definition at line 44 of file FastSet.java.
Referenced by javolution.util.FastSet< Index >.atomic(), javolution.util.FastSet< Index >.clear(), javolution.util.FastSet< Index >.contains(), javolution.util.FastSet< Index >.FastSet(), javolution.util.FastSet< Index >.filtered(), javolution.util.FastSet< Index >.remove(), javolution.util.FastSet< Index >.service(), javolution.util.FastSet< Index >.shared(), javolution.util.FastSet< Index >.size(), and javolution.util.FastSet< Index >.unmodifiable().