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