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:
java.lang.Iterable<E>
,java.util.Collection<E>
,java.util.List<E>
public class WeakList<E> extends java.util.AbstractList<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.
-
-
Constructor Summary
Constructors Constructor Description WeakList()
Create a weak random-access list.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(int index, E element)
Inserts the object at the specified position in the list.E
get(int index)
java.util.List<E>
hardList()
E
remove(int index)
Removes the object at the specified position and returns it or returns null if it was already collected.E
set(int index, E element)
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
trimToSize()
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
-
-
-
-
Method Detail
-
get
public E get(int index)
-
size
public int size()
-
set
public E set(int index, E element)
Sets the object at the specified position and returns the previous object at that position or null if it was already collected.
-
add
public void add(int index, E element)
Inserts the object at the specified position in the list. Automatically creates a weak reference to the object.
-
remove
public E remove(int index)
Removes the object at the specified position and returns it or returns null if it was already collected.
-
hardList
public java.util.List<E> 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.
-
-