public class CachedArrayList<E> extends ArrayList<E>
Just
like ArrayList, this implementation is not synchronized. If you want a thread safe implementation, you can
use CachedVector
.
modCount
Constructor and Description |
---|
CachedArrayList() |
CachedArrayList(Collection<? extends E> c) |
CachedArrayList(int initialCapacity) |
Modifier and Type | Method and Description |
---|---|
boolean |
add(E o) |
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.
|
clone, contains, ensureCapacity, forEach, get, isEmpty, iterator, lastIndexOf, listIterator, listIterator, removeIf, replaceAll, retainAll, size, sort, spliterator, subList, toArray, toArray, trimToSize
equals, hashCode
containsAll, toString
finalize, getClass, notify, notifyAll, wait, wait, wait
containsAll, equals, hashCode
parallelStream, stream
public CachedArrayList()
public CachedArrayList(Collection<? extends E> c)
public CachedArrayList(int initialCapacity)
public int indexOf(Object elem)
protected void adjustCache(int index, int increase)
index
- the index. All values above this index will be changed.increase
- a positive number to increase or a negative number to decrease.public void cacheIt(Object o, int index)
o
- the elementindex
- the index.public void uncacheIt(Object o)
o
- the elementpublic boolean add(E o)
public void add(int index, E element)
public E remove(int index)
public boolean remove(Object o)
public boolean removeAll(Collection<?> c)
public void clear()
public boolean addAll(Collection<? extends E> c)
public boolean addAll(int index, Collection<? extends E> c)
public void invalidateCache()
public void uncacheAll()
invalidateCache()
.public void cacheAll()
public boolean isLazyCaching()
public void setLazyCaching(boolean lazyCaching)
protected void removeRange(int fromIndex, int toIndex)
removeRange
in class ArrayList<E>