T
- type of list element.public class BlockList<T>
extends java.util.AbstractList<T>
Unlike ArrayList
, this type does not need to reallocate the
internal array in order to expand the capacity of the list. Access to any
element is constant time, but requires two array lookups instead of one.
To handle common usages, add(Object)
and iterator()
use
internal code paths to amortize out the second array lookup, making addition
and simple iteration closer to one array operation per element processed.
Similar to ArrayList
, adding or removing from any position except the
end of the list requires O(N) time to copy all elements between the
modification point and the end of the list. Applications are strongly
encouraged to not use this access pattern with this list implementation.
Constructor and Description |
---|
BlockList()
Initialize an empty list.
|
BlockList(int capacity)
Initialize an empty list with an expected capacity.
|
Modifier and Type | Method and Description |
---|---|
void |
add(int index,
T element) |
boolean |
add(T element) |
void |
addAll(BlockList<T> src)
Quickly append all elements of another BlockList.
|
void |
addAll(T[] src,
int srcIdx,
int srcCnt)
Quickly append all elements from an array.
|
void |
clear() |
T |
get(int index) |
java.util.Iterator<T> |
iterator() |
T |
remove(int index) |
T |
set(int index,
T element) |
int |
size() |
addAll, equals, hashCode, indexOf, lastIndexOf, listIterator, listIterator, removeRange, subList
addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray, toString
public BlockList()
public BlockList(int capacity)
capacity
- number of elements expected to be in the list.public int size()
public void clear()
public T get(int index)
public void addAll(BlockList<T> src)
src
- the list to copy elements from.public void addAll(T[] src, int srcIdx, int srcCnt)
src
- the source array.srcIdx
- first index to copy.srcCnt
- number of elements to copy.public boolean add(T element)
public void add(int index, T element)
public T remove(int index)
Copyright © 2012. All Rights Reserved.