Class NodeCachingLinkedList<E>
java.lang.Object
org.apache.commons.collections4.list.AbstractLinkedList<E>
org.apache.commons.collections4.list.NodeCachingLinkedList<E>
- Type Parameters:
- E- the type of the elements in the list.
- All Implemented Interfaces:
- Serializable,- Iterable<E>,- Collection<E>,- List<E>
@Deprecated
public class NodeCachingLinkedList<E>
extends AbstractLinkedList<E>
implements Serializable
Deprecated.
A 
List implementation that stores a cache of internal Node objects
 in an effort to reduce wasteful object creation.
 A linked list creates one Node for each item of data added. This can result in a lot of object creation and garbage collection. This implementation seeks to avoid that by maintaining a store of cached nodes.
This implementation is suitable for long-lived lists where both add and remove are used. Short-lived lists, or lists which only grow will have worse performance using this class.
Note that this implementation is not synchronized.
- Since:
- 3.0
- See Also:
- 
Nested Class SummaryNested classes/interfaces inherited from class org.apache.commons.collections4.list.AbstractLinkedListAbstractLinkedList.LinkedListIterator<E>, AbstractLinkedList.LinkedSubList<E>, AbstractLinkedList.LinkedSubListIterator<E>, AbstractLinkedList.Node<E>
- 
Constructor SummaryConstructorsConstructorDescriptionDeprecated.Constructor that creates.NodeCachingLinkedList(int maximumCacheSize) Deprecated.Constructor that species the maximum cache size.NodeCachingLinkedList(Collection<? extends E> coll) Deprecated.Constructor that copies the specified collection
- 
Method SummaryModifier and TypeMethodDescriptionprotected voidDeprecated.Adds a node to the cache, if the cache isn't full.protected AbstractLinkedList.Node<E> createNode(E value) Deprecated.Creates a new node, either by reusing one from the cache or creating a new one.protected intDeprecated.Gets the maximum size of the cache.protected AbstractLinkedList.Node<E> Deprecated.Gets a node from the cache.protected booleanDeprecated.Checks whether the cache is full.protected voidDeprecated.Removes all the nodes from the list, storing as many as required in the cache for reuse.protected voidremoveNode(AbstractLinkedList.Node<E> node) Deprecated.Removes the node from the list, storing it in the cache for reuse if the cache is not yet full.protected voidsetMaximumCacheSize(int maximumCacheSize) Deprecated.Sets the maximum size of the cache.protected voidDeprecated.Reduce the size of the cache to the maximum, if necessary.Methods inherited from class org.apache.commons.collections4.list.AbstractLinkedListadd, add, addAll, addAll, addFirst, addLast, addNode, addNodeAfter, addNodeBefore, clear, contains, containsAll, createHeaderNode, createSubListIterator, createSubListListIterator, doReadObject, doWriteObject, equals, get, getFirst, getLast, getNode, hashCode, indexOf, init, isEmpty, isEqualValue, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, removeFirst, removeLast, retainAll, set, size, subList, toArray, toArray, toString, updateNodeMethods inherited from class java.lang.Objectclone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface java.util.CollectionparallelStream, removeIf, streamMethods inherited from interface java.util.ListreplaceAll, sort, spliterator
- 
Constructor Details- 
NodeCachingLinkedList
- 
NodeCachingLinkedListDeprecated.Constructor that copies the specified collection- Parameters:
- coll- the collection to copy
 
- 
NodeCachingLinkedListDeprecated.Constructor that species the maximum cache size.- Parameters:
- maximumCacheSize- the maximum cache size
 
 
- 
- 
Method Details- 
addNodeToCacheDeprecated.Adds a node to the cache, if the cache isn't full. The node's contents are cleared, so they can be garbage collected.- Parameters:
- node- the node to add to the cache
 
- 
createNodeDeprecated.Creates a new node, either by reusing one from the cache or creating a new one.- Overrides:
- createNodein class- AbstractLinkedList<E>
- Parameters:
- value- value of the new node
- Returns:
- the newly created node
 
- 
getMaximumCacheSizeDeprecated.Gets the maximum size of the cache.- Returns:
- the maximum cache size
 
- 
getNodeFromCacheDeprecated.Gets a node from the cache. If a node is returned, then the value ofcacheSizeis decreased accordingly. The node that is returned will havenullvalues for next, previous and element.- Returns:
- a node, or nullif there are no nodes in the cache.
 
- 
isCacheFullDeprecated.Checks whether the cache is full.- Returns:
- true if the cache is full
 
- 
removeAllNodesDeprecated.Removes all the nodes from the list, storing as many as required in the cache for reuse.- Overrides:
- removeAllNodesin class- AbstractLinkedList<E>
 
- 
removeNodeDeprecated.Removes the node from the list, storing it in the cache for reuse if the cache is not yet full.- Overrides:
- removeNodein class- AbstractLinkedList<E>
- Parameters:
- node- the node to remove
 
- 
setMaximumCacheSizeDeprecated.Sets the maximum size of the cache.- Parameters:
- maximumCacheSize- the new maximum cache size
 
- 
shrinkCacheToMaximumSizeDeprecated.Reduce the size of the cache to the maximum, if necessary.
 
- 
AbstractLinkedListis source incompatible with List methods added in Java 21