public class WeakHashSet<E>
extends java.util.AbstractSet<E>
Ein WeakHashSet referenziert seine Elemente nur über 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.
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(java.lang.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() |
java.util.Iterator<E> |
iterator()
Gibt einen iterator über alle verbleibenden Elemente zurück
|
boolean |
remove(java.lang.Object o) |
int |
size()
Gibt die Anzahl der enthaltenen Elemente zurück.
|
addAll, containsAll, retainAll, toArray, toArray, toString
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
public WeakHashSet()
Erstellt ein neues WeakHashSet
public WeakHashSet(int initialCapacity)
Erstellt ein neues WeakHashSet
initialCapacity
- ursprüngliche Kapazitätpublic WeakHashSet(int initialCapacity, float loadFactor)
Erstellt ein neues WeakHashSet
initialCapacity
- ursprüngliche KapazitätloadFactor
- load Factorpublic java.util.Iterator<E> iterator()
Gibt einen iterator über alle verbleibenden Elemente zurück
public int size()
Gibt die Anzahl der enthaltenen Elemente zurück. Da praktisch zu jeder Zeit Elemente vom Garbage Collector entfernt werden können, kann die zurückgegebene Anzahl sich von folgenden Funktionsaufrufen unterscheiden.
public boolean isEmpty()
public boolean contains(java.lang.Object o)
public boolean add(E e)
Fügt ein neues Element hinzu, welches über eine WeakReference
referenziert wird.
add
in interface java.util.Collection<E>
add
in interface java.util.Set<E>
add
in class java.util.AbstractCollection<E>
e
- ElementaddWeakReference(Object)
,
addSoftReference(Object)
public boolean addWeakReference(E e)
Fügt ein neues Element hinzu, welches über eine WeakReference
referenziert wird. Identisch zu add(Object)
e
- Elementpublic boolean addSoftReference(E e)
Fügt ein neues Element hinzu, welches über eine SoftReference
referenziert wird.
e
- Elementpublic boolean remove(java.lang.Object o)
public void clear()
public E get(E entry)
Gibt einen bereits gespeicherten Eintrag zurück, bei dem equals() mit dem übergebenen Objekt true liefern würde. Durch diese Methode kann das WeakHashSet als ein Cache benutzt werden, da hier mehrere Identische Objekte durch ein einzelnes Objekt mit den gleichen Eigenschaften ersetzt werden kann.