JIDE 3.5.15

com.jidesoft.utils
Class CachedVector<E>

java.lang.Object
  extended by java.util.AbstractCollection<E>
      extended by java.util.AbstractList<E>
          extended by java.util.Vector<E>
              extended by com.jidesoft.utils.CachedVector<E>
All Implemented Interfaces:
Serializable, Cloneable, Iterable<E>, Collection<E>, List<E>, RandomAccess

public class CachedVector<E>
extends Vector<E>

This is a fast access Vector that sacrifices memory for speed. It will reduce the speed of indexOf method from O(n) to O(1). However it will at least double the memory used by Vector. So use it appropriately.

Just like Vector, this implementation is synchronized. Incomparisonn, CachedArrayList is not synchronized.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class java.util.Vector
capacityIncrement, elementCount, elementData
 
Fields inherited from class java.util.AbstractList
modCount
 
Constructor Summary
CachedVector()
           
CachedVector(Collection<? extends E> c)
           
CachedVector(int initialCapacity)
           
 
Method Summary
 boolean add(E element)
           
 void add(int index, E element)
           
 boolean addAll(Collection<? extends E> c)
           
 boolean addAll(int index, Collection<? extends E> c)
           
protected  void adjustCache(int index, int increase)
          Adjusts the cache so that all values that are greater than index will increase by the value specified by the increase parameter.
 void cacheAll()
          Cache all the element index.
 void cacheIt(Object o, int index)
          Caches the index of the element.
 void clear()
           
protected  Map<Object,Integer> createCache()
           
 int indexOf(Object elem)
           
 void invalidateCache()
          Invalidated the whole cache.
 boolean isLazyCaching()
           
 E remove(int index)
           
 boolean remove(Object o)
           
 boolean removeAll(Collection<?> c)
           
protected  void removeRange(int fromIndex, int toIndex)
           
 E set(int index, E element)
           
 void setLazyCaching(boolean lazyCaching)
           
 void uncacheAll()
          Uncache the whole cache.
 void uncacheIt(Object o)
          Uncaches the index of the element.
 
Methods inherited from class java.util.Vector
addElement, capacity, clone, contains, containsAll, copyInto, elementAt, elements, ensureCapacity, equals, firstElement, get, hashCode, indexOf, insertElementAt, isEmpty, lastElement, lastIndexOf, lastIndexOf, removeAllElements, removeElement, removeElementAt, retainAll, setElementAt, setSize, size, subList, toArray, toArray, toString, trimToSize
 
Methods inherited from class java.util.AbstractList
iterator, listIterator, listIterator
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.List
iterator, listIterator, listIterator
 

Constructor Detail

CachedVector

public CachedVector()

CachedVector

public CachedVector(Collection<? extends E> c)

CachedVector

public CachedVector(int initialCapacity)
Method Detail

indexOf

public int indexOf(Object elem)
Specified by:
indexOf in interface List<E>
Overrides:
indexOf in class Vector<E>

adjustCache

protected void adjustCache(int index,
                           int increase)
Adjusts the cache so that all values that are greater than index will increase by the value specified by the increase parameter.

Parameters:
index - the index. All values above this index will be changed.
increase - a positive number to increase or a negative number to decrease.

createCache

protected Map<Object,Integer> createCache()

cacheIt

public void cacheIt(Object o,
                    int index)
Caches the index of the element.

Parameters:
o - the element
index - the index.

uncacheIt

public void uncacheIt(Object o)
Uncaches the index of the element.

Parameters:
o - the element

add

public boolean add(E element)
Specified by:
add in interface Collection<E>
Specified by:
add in interface List<E>
Overrides:
add in class Vector<E>

add

public void add(int index,
                E element)
Specified by:
add in interface List<E>
Overrides:
add in class Vector<E>

remove

public E remove(int index)
Specified by:
remove in interface List<E>
Overrides:
remove in class Vector<E>

remove

public boolean remove(Object o)
Specified by:
remove in interface Collection<E>
Specified by:
remove in interface List<E>
Overrides:
remove in class Vector<E>

removeAll

public boolean removeAll(Collection<?> c)
Specified by:
removeAll in interface Collection<E>
Specified by:
removeAll in interface List<E>
Overrides:
removeAll in class Vector<E>

clear

public void clear()
Specified by:
clear in interface Collection<E>
Specified by:
clear in interface List<E>
Overrides:
clear in class Vector<E>

addAll

public boolean addAll(Collection<? extends E> c)
Specified by:
addAll in interface Collection<E>
Specified by:
addAll in interface List<E>
Overrides:
addAll in class Vector<E>

addAll

public boolean addAll(int index,
                      Collection<? extends E> c)
Specified by:
addAll in interface List<E>
Overrides:
addAll in class Vector<E>

set

public E set(int index,
             E element)
Specified by:
set in interface List<E>
Overrides:
set in class Vector<E>

invalidateCache

public void invalidateCache()
Invalidated the whole cache.


uncacheAll

public void uncacheAll()
Uncache the whole cache. It is the same as invalidateCache().


cacheAll

public void cacheAll()
Cache all the element index.


isLazyCaching

public boolean isLazyCaching()

setLazyCaching

public void setLazyCaching(boolean lazyCaching)

removeRange

protected void removeRange(int fromIndex,
                           int toIndex)
Overrides:
removeRange in class Vector<E>

JIDE 3.5.15