org.apache.aries.blueprint.utils
Class DynamicCollection<E>
java.lang.Object
java.util.AbstractCollection<E>
org.apache.aries.blueprint.utils.DynamicCollection<E>
- All Implemented Interfaces:
- java.lang.Iterable<E>, java.util.Collection<E>
public class DynamicCollection<E>
- extends java.util.AbstractCollection<E>
Collection that allows iterators to see addition or removals of elements while iterating.
This collection and its iterators are thread safe but all operations happen under a
synchronization lock, so the performance in heavy concurrency load is far from optimal.
If such a use is needed, a CopyOnWriteArrayList may be more suited.
- Version:
- $Rev: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
Methods inherited from class java.util.AbstractCollection |
addAll, removeAll, retainAll, toString |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface java.util.Collection |
equals, hashCode |
lock
protected final java.lang.Object lock
storage
protected final java.util.List<E> storage
iterators
protected final java.util.List<java.lang.ref.WeakReference<DynamicCollection.DynamicIterator>> iterators
DynamicCollection
public DynamicCollection()
iterator
public DynamicCollection.DynamicIterator iterator()
- Specified by:
iterator
in interface java.lang.Iterable<E>
- Specified by:
iterator
in interface java.util.Collection<E>
- Specified by:
iterator
in class java.util.AbstractCollection<E>
iterator
public DynamicCollection.DynamicIterator iterator(int index)
createIterator
protected DynamicCollection.DynamicIterator createIterator(int index)
size
public int size()
- Specified by:
size
in interface java.util.Collection<E>
- Specified by:
size
in class java.util.AbstractCollection<E>
isEmpty
public boolean isEmpty()
- Specified by:
isEmpty
in interface java.util.Collection<E>
- Overrides:
isEmpty
in class java.util.AbstractCollection<E>
contains
public boolean contains(java.lang.Object o)
- Specified by:
contains
in interface java.util.Collection<E>
- Overrides:
contains
in class java.util.AbstractCollection<E>
toArray
public java.lang.Object[] toArray()
- Specified by:
toArray
in interface java.util.Collection<E>
- Overrides:
toArray
in class java.util.AbstractCollection<E>
toArray
public <T> T[] toArray(T[] a)
- Specified by:
toArray
in interface java.util.Collection<E>
- Overrides:
toArray
in class java.util.AbstractCollection<E>
containsAll
public boolean containsAll(java.util.Collection<?> c)
- Specified by:
containsAll
in interface java.util.Collection<E>
- Overrides:
containsAll
in class java.util.AbstractCollection<E>
add
public boolean add(E o)
- Specified by:
add
in interface java.util.Collection<E>
- Overrides:
add
in class java.util.AbstractCollection<E>
remove
public boolean remove(java.lang.Object o)
- Specified by:
remove
in interface java.util.Collection<E>
- Overrides:
remove
in class java.util.AbstractCollection<E>
get
public E get(int index)
clear
public void clear()
- Specified by:
clear
in interface java.util.Collection<E>
- Overrides:
clear
in class java.util.AbstractCollection<E>
remove
public E remove(int index)
first
public E first()
last
public E last()
Copyright © 2009-2011 The Apache Software Foundation. All Rights Reserved.