Package net.sourceforge.jnlp.util
Class WeakList<E>
java.lang.Object
java.util.AbstractCollection<E>
java.util.AbstractList<E>
net.sourceforge.jnlp.util.WeakList<E>
- Type Parameters:
E- generic typeto be used in this list
- All Implemented Interfaces:
Iterable<E>,Collection<E>,List<E>
This list stores objects automatically using weak references.
Objects are added and removed from the list as normal, but may
turn to null at any point (ie, indexOf(x) followed by get(x)
may return null). The weak references are only removed when
the trimToSize method is called so that the indices remain
constant otherwise.
-
Field Summary
Fields inherited from class java.util.AbstractList
modCount -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidInserts the object at the specified position in the list.get(int index) hardList()remove(int index) Removes the object at the specified position and returns it or returns null if it was already collected.Sets the object at the specified position and returns the previous object at that position or null if it was already collected.intsize()voidCompacts the list by removing references to collected objects.Methods inherited from class java.util.AbstractList
add, addAll, clear, equals, hashCode, indexOf, iterator, lastIndexOf, listIterator, listIterator, removeRange, subListMethods inherited from class java.util.AbstractCollection
addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray, toStringMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArrayMethods inherited from interface java.util.List
addAll, contains, containsAll, isEmpty, remove, removeAll, replaceAll, retainAll, sort, spliterator, toArray, toArray
-
Constructor Details
-
WeakList
public WeakList()Create a weak random-access list.
-
-
Method Details
-
get
-
size
public int size()- Specified by:
sizein interfaceCollection<E>- Specified by:
sizein interfaceList<E>- Specified by:
sizein classAbstractCollection<E>- Returns:
- the size of the list, including already collected objects.
-
set
Sets the object at the specified position and returns the previous object at that position or null if it was already collected. -
add
Inserts the object at the specified position in the list. Automatically creates a weak reference to the object. -
remove
Removes the object at the specified position and returns it or returns null if it was already collected. -
hardList
- Returns:
- a list of hard references to the objects. The returned list does not include the collected elements, so its indices do not necessarily correlate with those of this list.
-
trimToSize
public void trimToSize()Compacts the list by removing references to collected objects.
-