public class SynchronizedIndexedSet<K,V> extends IndexedSet<K,V>
IndexedSet
class.
It provides following benefits over standard IndexedSet
:
Note that SynchronizedIndexedSet can be wrapped by IndexedMap
to create what can be considered a SynchronizedIndexedMap.
Modifier | Constructor and Description |
---|---|
|
SynchronizedIndexedSet()
Creates new empty set with default indexer
IndexerFunction.DEFAULT . |
|
SynchronizedIndexedSet(Collection<V> c)
Creates a new set containing the elements in the specified collection.
|
|
SynchronizedIndexedSet(Indexer<K,? super V> indexer)
Deprecated.
Use
create(indexer) |
|
SynchronizedIndexedSet(Indexer<K,? super V> indexer,
Collection<? extends V> c)
Deprecated.
|
|
SynchronizedIndexedSet(Indexer<K,? super V> indexer,
int initialCapacity)
Deprecated.
|
protected |
SynchronizedIndexedSet(IndexerFunction<K,? super V> indexer)
Creates new empty set with specified indexer.
|
protected |
SynchronizedIndexedSet(IndexerFunction<K,? super V> indexer,
Collection<? extends V> c)
Creates a new set with specified indexer containing the elements in the specified collection.
|
protected |
SynchronizedIndexedSet(IndexerFunction<K,? super V> indexer,
int initialCapacity)
Creates new empty set with specified indexer and specified initial capacity.
|
|
SynchronizedIndexedSet(int initialCapacity)
Creates new empty set with default indexer
IndexerFunction.DEFAULT and specified initial capacity. |
Modifier and Type | Method and Description |
---|---|
void |
clear()
Removes all elements from this set.
|
SynchronizedIndexedSet<K,V> |
clone()
Returns a shallow copy of this set - the values themselves are not cloned.
|
static <V> java.util.stream.Collector<V,?,? extends SynchronizedIndexedSet<V,V>> |
collector()
Returns a
Collector that accumulates the input elements into a new SynchronizedIndexedSet with default indexer. |
static <V> java.util.stream.Collector<V,?,? extends SynchronizedIndexedSet<Integer,V>> |
collector(IndexerFunction.IntKey<? super V> indexer)
Deprecated.
|
static <V> java.util.stream.Collector<V,?,? extends SynchronizedIndexedSet<Long,V>> |
collector(IndexerFunction.LongKey<? super V> indexer)
Deprecated.
|
static <K,V> java.util.stream.Collector<V,?,? extends SynchronizedIndexedSet<K,V>> |
collector(IndexerFunction<K,? super V> indexer)
Returns a
Collector that accumulates the input elements into a new SynchronizedIndexedSet with specified indexer. |
static <V> java.util.stream.Collector<V,?,? extends SynchronizedIndexedSet<V,V>> |
collectorIdentity()
Returns a
Collector that accumulates the input elements into a new SynchronizedIndexedSet with default identity indexer. |
static <K,V> java.util.stream.Collector<V,?,? extends SynchronizedIndexedSet<K,V>> |
collectorIdentity(IndexerFunction.IdentityKey<K,? super V> indexer)
Returns a
Collector that accumulates the input elements into a new SynchronizedIndexedSet with specified identity indexer. |
static <V> java.util.stream.Collector<V,?,? extends SynchronizedIndexedSet<Integer,V>> |
collectorInt(IndexerFunction.IntKey<? super V> indexer)
Returns a
Collector that accumulates the input elements into a new SynchronizedIndexedSet with specified int indexer. |
static <V> java.util.stream.Collector<V,?,? extends SynchronizedIndexedSet<Long,V>> |
collectorLong(IndexerFunction.LongKey<? super V> indexer)
Returns a
Collector that accumulates the input elements into a new SynchronizedIndexedSet with specified long indexer. |
static <V> SynchronizedIndexedSet<V,V> |
create()
Creates new empty set with default indexer
IndexerFunction.DEFAULT . |
static <V> SynchronizedIndexedSet<Integer,V> |
create(IndexerFunction.IntKey<? super V> indexer)
Deprecated.
|
static <V> SynchronizedIndexedSet<Integer,V> |
create(IndexerFunction.IntKey<? super V> indexer,
Collection<? extends V> c)
Deprecated.
|
static <V> SynchronizedIndexedSet<Integer,V> |
create(IndexerFunction.IntKey<? super V> indexer,
int initialCapacity)
Deprecated.
|
static <V> SynchronizedIndexedSet<Long,V> |
create(IndexerFunction.LongKey<? super V> indexer)
Deprecated.
|
static <V> SynchronizedIndexedSet<Long,V> |
create(IndexerFunction.LongKey<? super V> indexer,
int initialCapacity)
Deprecated.
|
static <K,V> SynchronizedIndexedSet<K,V> |
create(IndexerFunction<K,? super V> indexer)
Creates new empty set with specified indexer.
|
static <K,V> SynchronizedIndexedSet<K,V> |
create(IndexerFunction<K,? super V> indexer,
Collection<? extends V> c)
Deprecated.
|
static <K,V> SynchronizedIndexedSet<K,V> |
create(IndexerFunction<K,? super V> indexer,
int initialCapacity)
Deprecated.
|
static <V> SynchronizedIndexedSet<V,V> |
createIdentity()
Creates new empty set with default identity indexer.
|
static <K,V> SynchronizedIndexedSet<K,V> |
createIdentity(IndexerFunction.IdentityKey<K,? super V> indexer)
Creates new empty set with specified identity indexer.
|
static <V> SynchronizedIndexedSet<Integer,V> |
createInt(IndexerFunction.IntKey<? super V> indexer)
Creates new empty set with specified int indexer.
|
static <V> SynchronizedIndexedSet<Long,V> |
createLong(IndexerFunction.LongKey<? super V> indexer)
Creates new empty set with specified long indexer.
|
void |
ensureCapacity(int capacity)
Increases the capacity of this set instance, if necessary, to ensure that it
can hold at least the number of elements specified by the capacity argument.
|
IndexedSetStats |
getStats()
Returns static structure statistics of this set.
|
static <V> SynchronizedIndexedSet<V,V> |
of(V... objs)
Creates a new set with default indexer containing specified elements.
|
V |
put(V value)
Puts specified element into this set and returns previous element that matches specified one.
|
V |
putIfAbsentAndGet(V value)
Puts specified element into this set if it is absent and
returns current element in the set that matches specified one.
|
V |
removeKey(K key)
Removes the element from this set which matches specified key if it is present
and returns removed element or null if none were found.
|
V |
removeKey(long key)
Removes the element from this set which matches specified key if it is present
and returns removed element or null if none were found.
|
V |
removeValue(V value)
Removes the element from this set which matches specified value if it is present
and returns removed element or null if none were found.
|
void |
trimToSize()
Trims the capacity of this set instance to be the set's current size.
|
SynchronizedIndexedSet<K,V> |
withCapacity(int capacity)
Increases the capacity of this set instance, if necessary, to ensure that it
can hold at least the number of elements specified by the capacity argument.
|
SynchronizedIndexedSet<K,V> |
withElements(Collection<? extends V> c)
Adds all of the elements in the specified collection into this set.
|
add, concurrentIterator, contains, containsKey, containsKey, containsKey, containsValue, create, entryIterator, getByKey, getByKey, getByKey, getByValue, getIndexer, getIndexerFunction, iterator, keyIterator, remove, removeKey, size, toArray, toArray
addAll, containsAll, equals, hashCode, isEmpty, removeAll, retainAll, toString
finalize, getClass, notify, notifyAll, wait, wait, wait
spliterator
parallelStream, removeIf, stream
public SynchronizedIndexedSet()
IndexerFunction.DEFAULT
.public SynchronizedIndexedSet(int initialCapacity)
IndexerFunction.DEFAULT
and specified initial capacity.protected SynchronizedIndexedSet(IndexerFunction<K,? super V> indexer)
@Deprecated public SynchronizedIndexedSet(Indexer<K,? super V> indexer)
create(indexer)
protected SynchronizedIndexedSet(IndexerFunction<K,? super V> indexer, int initialCapacity)
@Deprecated public SynchronizedIndexedSet(Indexer<K,? super V> indexer, int initialCapacity)
create(indexer)
.withCapacity(initialCapacity)
public SynchronizedIndexedSet(Collection<V> c)
IndexedSet
, then new indexed set uses same indexer,
otherwise it uses default indexer IndexerFunction.DEFAULT
.protected SynchronizedIndexedSet(IndexerFunction<K,? super V> indexer, Collection<? extends V> c)
@Deprecated public SynchronizedIndexedSet(Indexer<K,? super V> indexer, Collection<? extends V> c)
create(indexer)
.withElements(c)
public static <V> SynchronizedIndexedSet<V,V> create()
IndexerFunction.DEFAULT
.public static <V> SynchronizedIndexedSet<V,V> createIdentity()
public static <K,V> SynchronizedIndexedSet<K,V> create(IndexerFunction<K,? super V> indexer)
public static <K,V> SynchronizedIndexedSet<K,V> createIdentity(IndexerFunction.IdentityKey<K,? super V> indexer)
public static <V> SynchronizedIndexedSet<Integer,V> createInt(IndexerFunction.IntKey<? super V> indexer)
public static <V> SynchronizedIndexedSet<Long,V> createLong(IndexerFunction.LongKey<? super V> indexer)
@Deprecated public static <V> SynchronizedIndexedSet<Integer,V> create(IndexerFunction.IntKey<? super V> indexer)
createInt(indexer)
@Deprecated public static <V> SynchronizedIndexedSet<Long,V> create(IndexerFunction.LongKey<? super V> indexer)
createLong(indexer)
@Deprecated public static <K,V> SynchronizedIndexedSet<K,V> create(IndexerFunction<K,? super V> indexer, int initialCapacity)
create(indexer)
.withCapacity(initialCapacity)
@Deprecated public static <V> SynchronizedIndexedSet<Integer,V> create(IndexerFunction.IntKey<? super V> indexer, int initialCapacity)
createInt(indexer)
.withCapacity(initialCapacity)
@Deprecated public static <V> SynchronizedIndexedSet<Long,V> create(IndexerFunction.LongKey<? super V> indexer, int initialCapacity)
createLong(indexer)
.withCapacity(initialCapacity)
@Deprecated public static <K,V> SynchronizedIndexedSet<K,V> create(IndexerFunction<K,? super V> indexer, Collection<? extends V> c)
create(indexer)
.withElements(c)
@Deprecated public static <V> SynchronizedIndexedSet<Integer,V> create(IndexerFunction.IntKey<? super V> indexer, Collection<? extends V> c)
createInt(indexer)
.withElements(c)
@SafeVarargs public static <V> SynchronizedIndexedSet<V,V> of(V... objs)
public static <V> java.util.stream.Collector<V,?,? extends SynchronizedIndexedSet<V,V>> collector()
Collector
that accumulates the input elements into a new SynchronizedIndexedSet
with default indexer.
This is an concurrent
and unordered
Collector.public static <V> java.util.stream.Collector<V,?,? extends SynchronizedIndexedSet<V,V>> collectorIdentity()
Collector
that accumulates the input elements into a new SynchronizedIndexedSet
with default identity indexer.
This is an concurrent
and unordered
Collector.public static <K,V> java.util.stream.Collector<V,?,? extends SynchronizedIndexedSet<K,V>> collector(IndexerFunction<K,? super V> indexer)
Collector
that accumulates the input elements into a new SynchronizedIndexedSet
with specified indexer.
This is an concurrent
and unordered
Collector.public static <K,V> java.util.stream.Collector<V,?,? extends SynchronizedIndexedSet<K,V>> collectorIdentity(IndexerFunction.IdentityKey<K,? super V> indexer)
Collector
that accumulates the input elements into a new SynchronizedIndexedSet
with specified identity indexer.
This is an concurrent
and unordered
Collector.public static <V> java.util.stream.Collector<V,?,? extends SynchronizedIndexedSet<Integer,V>> collectorInt(IndexerFunction.IntKey<? super V> indexer)
Collector
that accumulates the input elements into a new SynchronizedIndexedSet
with specified int indexer.
This is an concurrent
and unordered
Collector.public static <V> java.util.stream.Collector<V,?,? extends SynchronizedIndexedSet<Long,V>> collectorLong(IndexerFunction.LongKey<? super V> indexer)
Collector
that accumulates the input elements into a new SynchronizedIndexedSet
with specified long indexer.
This is an concurrent
and unordered
Collector.@Deprecated public static <V> java.util.stream.Collector<V,?,? extends SynchronizedIndexedSet<Integer,V>> collector(IndexerFunction.IntKey<? super V> indexer)
collectorInt(indexer)
Collector
that accumulates the input elements into a new SynchronizedIndexedSet
with specified indexer.
This is an concurrent
and unordered
Collector.@Deprecated public static <V> java.util.stream.Collector<V,?,? extends SynchronizedIndexedSet<Long,V>> collector(IndexerFunction.LongKey<? super V> indexer)
collectorLong(indexer)
Collector
that accumulates the input elements into a new SynchronizedIndexedSet
with specified indexer.
This is an concurrent
and unordered
Collector.public SynchronizedIndexedSet<K,V> clone()
clone
in class IndexedSet<K,V>
public SynchronizedIndexedSet<K,V> withCapacity(int capacity)
Returns this set instance for convenience.
withCapacity
in class IndexedSet<K,V>
public SynchronizedIndexedSet<K,V> withElements(Collection<? extends V> c)
Returns this set instance for convenience.
withElements
in class IndexedSet<K,V>
public void ensureCapacity(int capacity)
ensureCapacity
in class IndexedSet<K,V>
public void trimToSize()
trimToSize
in class IndexedSet<K,V>
public void clear()
clear
in interface Collection<V>
clear
in interface Set<V>
clear
in class IndexedSet<K,V>
public IndexedSetStats getStats()
getStats
in class IndexedSet<K,V>
public V put(V value)
put
in class IndexedSet<K,V>
public V putIfAbsentAndGet(V value)
if (set.containsValue(value)) { return set.getByValue(value); } else { set.put(value); return value; }except that the action is performed atomically if it is properly synchronized.
Note, that unlike ConcurrentMap.putIfAbsent(K, V)
,
this method returns specified value (not null) if the value was absent.
putIfAbsentAndGet
in class IndexedSet<K,V>
public V removeValue(V value)
removeValue
in class IndexedSet<K,V>
public V removeKey(K key)
removeKey
in class IndexedSet<K,V>
public V removeKey(long key)
removeKey
in class IndexedSet<K,V>
Copyright © 2002-2019 Devexperts LLC. All Rights Reserved.