public class WeakHashSet<E> extends AbstractSet<E>
WeakReference
s. Damit können Elemente im WeakHashSet
jederzeit durch den Garbage-Collector entsorgt werden, sofern sie nirgendwo anders direkt referenziert werden.
Das Hinzufügen von null-Elementen wird still ignoriert, da null-Elemente hier bedeuten, dass ein entsprechendes
Objekt vom Garbage-Collector entfernt wurde. Das Hinzufügen von null kann also so interpretiert werden, dass ein
bereits nicht mehr verfügbares Element hinzugefügt werden soll, was in keiner Änderung des Sets resultiert.Modifier and Type | Field and Description |
---|---|
private WeakHashMap<E,Reference<E>> |
_backingHashMap |
Constructor and Description |
---|
WeakHashSet()
Erstellt ein neues WeakHashSet
|
WeakHashSet(int initialCapacity)
Erstellt ein neues WeakHashSet
|
WeakHashSet(int initialCapacity,
float loadFactor)
Erstellt ein neues WeakHashSet
|
Modifier and Type | Method and Description |
---|---|
boolean |
add(E e)
Fügt ein neues Element hinzu, welches über eine
WeakReference referenziert wird. |
boolean |
addSoftReference(E e)
Fügt ein neues Element hinzu, welches über eine
SoftReference referenziert wird. |
boolean |
addWeakReference(E e)
Fügt ein neues Element hinzu, welches über eine
WeakReference referenziert wird. |
void |
clear() |
boolean |
contains(Object o) |
E |
get(E entry)
Gibt einen bereits gespeicherten Eintrag zurück, bei dem equals() mit dem übergebenen Objekt true liefern würde.
|
boolean |
isEmpty() |
Iterator<E> |
iterator()
Gibt einen iterator über alle verbleibenden Elemente zurück
|
boolean |
remove(Object o) |
int |
size()
Gibt die Anzahl der enthaltenen Elemente zurück.
|
equals, hashCode, removeAll
addAll, containsAll, retainAll, toArray, toArray, toString
private final WeakHashMap<E,Reference<E>> _backingHashMap
public WeakHashSet()
public WeakHashSet(int initialCapacity)
initialCapacity
- ursprüngliche Kapazitätpublic WeakHashSet(int initialCapacity, float loadFactor)
initialCapacity
- ursprüngliche KapazitätloadFactor
- load Factorpublic int size()
size
in interface Collection<E>
size
in interface Set<E>
size
in class AbstractCollection<E>
public boolean isEmpty()
isEmpty
in interface Collection<E>
isEmpty
in interface Set<E>
isEmpty
in class AbstractCollection<E>
public boolean contains(Object o)
contains
in interface Collection<E>
contains
in interface Set<E>
contains
in class AbstractCollection<E>
public boolean add(E e)
WeakReference
referenziert wird.add
in interface Collection<E>
add
in interface Set<E>
add
in class AbstractCollection<E>
e
- ElementaddWeakReference(Object)
,
addSoftReference(Object)
public boolean addWeakReference(E e)
WeakReference
referenziert wird. Identisch zu add(Object)
e
- Elementpublic boolean addSoftReference(E e)
SoftReference
referenziert wird.e
- Elementpublic boolean remove(Object o)
remove
in interface Collection<E>
remove
in interface Set<E>
remove
in class AbstractCollection<E>
public void clear()
clear
in interface Collection<E>
clear
in interface Set<E>
clear
in class AbstractCollection<E>
public E get(E entry)