public class WeakConcurrentSet<V> extends Object implements Runnable, Iterable<V>
A thread-safe set with weak values. Entries are based on a key's system hash code and keys are considered equal only by reference equality.
This class does not implement theSet
interface because this implementation is incompatible
with the set contract. While iterating over a set's entries, any value that has not passed iteration is referenced non-weakly.Modifier and Type | Class and Description |
---|---|
static class |
WeakConcurrentSet.Cleaner
Determines the cleaning format.
|
Constructor and Description |
---|
WeakConcurrentSet(WeakConcurrentSet.Cleaner cleaner) |
Modifier and Type | Method and Description |
---|---|
boolean |
add(V value) |
int |
approximateSize()
Returns the approximate size of this set where the returned number is at least as big as the actual number of entries.
|
void |
clear()
Clears the set.
|
boolean |
contains(V value) |
void |
expungeStaleEntries()
Cleans all unused references.
|
Thread |
getCleanerThread() |
Iterator<V> |
iterator() |
boolean |
remove(V value) |
void |
run() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
forEach, spliterator
public WeakConcurrentSet(WeakConcurrentSet.Cleaner cleaner)
public boolean add(V value)
value
- The value to add to the set.true
if the value was added to the set and was not contained before.public boolean contains(V value)
value
- The value to check if it is contained in the set.true
if the set contains the value.public boolean remove(V value)
value
- The value to remove from the set.true
if the value is contained in the set.public void clear()
public int approximateSize()
public void expungeStaleEntries()
public Thread getCleanerThread()
null
if no such thread was set.Copyright © 2021. All rights reserved.