org.openstreetmap.josm.tools
Class CopyList<E>
java.lang.Object
java.util.AbstractCollection<E>
java.util.AbstractList<E>
org.openstreetmap.josm.tools.CopyList<E>
- All Implemented Interfaces:
- java.lang.Cloneable, java.lang.Iterable<E>, java.util.Collection<E>, java.util.List<E>, java.util.RandomAccess
public final class CopyList<E>
- extends java.util.AbstractList<E>
- implements java.util.RandomAccess, java.lang.Cloneable
A List implementation initially based on given array, but never modifying
the array directly. On the first modification, the implementation will
create its own copy of the array, and after that it behaves mostly as
an ArrayList.
| Fields inherited from class java.util.AbstractList |
modCount |
|
Constructor Summary |
CopyList(E[] array)
Create a List over given array. |
CopyList(E[] array,
int size)
|
| 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 |
finalize, getClass, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface java.util.List |
addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray |
array
private E[] array
size
private int size
pristine
private boolean pristine
CopyList
public CopyList(E[] array)
- Create a List over given array.
- Parameters:
array - The initial List content. The array is never modified
by the CopyList.
CopyList
public CopyList(E[] array,
int size)
get
public E get(int index)
- Specified by:
get in interface java.util.List<E>- Specified by:
get in class java.util.AbstractList<E>
size
public int size()
- Specified by:
size in interface java.util.Collection<E>- Specified by:
size in interface java.util.List<E>- Specified by:
size in class java.util.AbstractCollection<E>
set
public E set(int index,
E element)
- Specified by:
set in interface java.util.List<E>- Overrides:
set in class java.util.AbstractList<E>
add
public void add(int index,
E element)
- Specified by:
add in interface java.util.List<E>- Overrides:
add in class java.util.AbstractList<E>
remove
public E remove(int index)
- Specified by:
remove in interface java.util.List<E>- Overrides:
remove in class java.util.AbstractList<E>
add
public boolean add(E element)
- Specified by:
add in interface java.util.Collection<E>- Specified by:
add in interface java.util.List<E>- Overrides:
add in class java.util.AbstractList<E>
clear
public void clear()
- Specified by:
clear in interface java.util.Collection<E>- Specified by:
clear in interface java.util.List<E>- Overrides:
clear in class java.util.AbstractList<E>
clone
public java.lang.Object clone()
- Returns another independent copy-on-write copy of this List
instance. Neither the elements nor the backing storage are copied.
- Overrides:
clone in class java.lang.Object
- Returns:
- a clone of this CopyList instance
rangeCheck
private void rangeCheck(int index)
changeCheck
private void changeCheck()
ensureCapacity
private void ensureCapacity(int target)
iterator
public java.util.Iterator<E> iterator()
- Specified by:
iterator in interface java.lang.Iterable<E>- Specified by:
iterator in interface java.util.Collection<E>- Specified by:
iterator in interface java.util.List<E>- Overrides:
iterator in class java.util.AbstractList<E>
JOSM