- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractList<T>
-
- org.eclipse.jgit.util.BlockList<T>
-
- Type Parameters:
T- type of list element.
- All Implemented Interfaces:
Iterable<T>,Collection<T>,List<T>
public class BlockList<T> extends AbstractList<T>
Random access list that allocates entries in blocks.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)anditerator()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.
-
-
Field Summary
-
Fields inherited from class java.util.AbstractList
modCount
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(int index, T element)booleanadd(T element)voidaddAll(BlockList<T> src)Quickly append all elements of another BlockList.voidaddAll(T[] src, int srcIdx, int srcCnt)Quickly append all elements from an array.voidclear()Tget(int index)Iterator<T>iterator()Tremove(int index)Tset(int index, T element)intsize()-
Methods inherited from class java.util.AbstractList
addAll, equals, hashCode, indexOf, lastIndexOf, listIterator, listIterator, removeRange, subList
-
Methods inherited from class java.util.AbstractCollection
addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray, toString
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArray
-
Methods inherited from interface java.util.List
addAll, contains, containsAll, isEmpty, remove, removeAll, replaceAll, retainAll, sort, spliterator, toArray, toArray
-
-
-
-
Method Detail
-
size
public int size()
- Specified by:
sizein interfaceCollection<T>- Specified by:
sizein interfaceList<T>- Specified by:
sizein classAbstractCollection<T>
-
clear
public void clear()
- Specified by:
clearin interfaceCollection<T>- Specified by:
clearin interfaceList<T>- Overrides:
clearin classAbstractList<T>
-
get
public T get(int index)
-
addAll
public void addAll(BlockList<T> src)
Quickly append all elements of another BlockList.- Parameters:
src- the list to copy elements from.
-
addAll
public void addAll(T[] src, int srcIdx, int srcCnt)
Quickly append all elements from an array.- Parameters:
src- the source array.srcIdx- first index to copy.srcCnt- number of elements to copy.
-
add
public boolean add(T element)
- Specified by:
addin interfaceCollection<T>- Specified by:
addin interfaceList<T>- Overrides:
addin classAbstractList<T>
-
add
public void add(int index, T element)
-
remove
public T remove(int index)
-
-