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 TypeMethodDescriptionvoid
Inserts 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.int
size()
void
Compacts 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, subList
Methods inherited from class java.util.AbstractCollection
addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray, toString
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArray
Methods 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:
size
in interfaceCollection<E>
- Specified by:
size
in interfaceList<E>
- Specified by:
size
in 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.
-