Package repast.simphony.util.collections
Class RandomIterable<T>
java.lang.Object
repast.simphony.util.collections.RandomIterable<T>
- Direct Known Subclasses:
ContextIterable
An iterable that iterates over a collection of objects at random.
The "length" of the iterable may be less than the number of objects
in the collection.
- Version:
- $Revision$ $Date$
- Author:
- Nick Collier
-
Field Summary
Modifier and TypeFieldDescriptionprotected int
protected int
protected int
protected boolean[]
-
Constructor Summary
ConstructorDescriptionRandomIterable
(IndexedIterable<T> iter, long count) Creates a RandomIterable that will iterate over count number of objects in the specified IndexedIterable. -
Method Summary
Modifier and TypeMethodDescriptionboolean
hasNext()
Returns true if the iteration has more elements.iterator()
Returns an iterator over a set of elements of type T.next()
Returns the next element in the iteration.void
remove()
Removes from the underlying collection the last element returned by the iterator (optional operation).protected void
removeEvent
(T target) Marks the target as returned if it exists in the object list.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
Methods inherited from interface java.util.Iterator
forEachRemaining
-
Field Details
-
index
protected int index -
list
-
returned
protected boolean[] returned -
numToReturn
protected int numToReturn -
numReturned
protected int numReturned
-
-
Constructor Details
-
RandomIterable
Creates a RandomIterable that will iterate over count number of objects in the specified IndexedIterable.- Parameters:
iter
-count
-
-
-
Method Details
-
hasNext
public boolean hasNext()Returns true if the iteration has more elements. (In other words, returns true if next would return an element rather than throwing an exception.) -
next
Returns the next element in the iteration. Calling this method repeatedly until thehasNext()
method returns false will return each element in the underlying collection exactly once.- Specified by:
next
in interfaceIterator<T>
- Returns:
- the next element in the iteration.
- Throws:
NoSuchElementException
- iteration has no more elements.
-
remove
public void remove()Removes from the underlying collection the last element returned by the iterator (optional operation). This method can be called only once per call to next. The behavior of an iterator is unspecified if the underlying collection is modified while the iteration is in progress in any way other than by calling this method.- Specified by:
remove
in interfaceIterator<T>
- Throws:
UnsupportedOperationException
- if the remove operation is not supported by this Iterator.IllegalStateException
- if the next method has not yet been called, or the remove method has already been called after the last call to the next method.
-
iterator
Returns an iterator over a set of elements of type T. -
removeEvent
Marks the target as returned if it exists in the object list.- Parameters:
target
- the object to remove from the list.
-