Interface Summary Interface Description BidirectionalIterator<T>An Iterator which can iterate back to previous elements. BufferList<T> ExtendedBufferList<T>An extension of
BufferListwhich can maintain its sorted state and eagerly remove duplicates when elements are inserted.
MarkResetIterator<T>An interface to support multiple passes over a specific part of the iterator's output via mark/reset operations. PartitionedSkippingIterable<T>Interface for ordered data sources that returns a skipping iterator. PeekingLongIterator PeekingSkippingIterator<T> ResettableIterator<T>Iterator which can be reset to the first element. ResettablePredicate<T>An interface for stateful
Predicateimplementations that provides a reset function to clearing the internal state.
RestrictedMarkResetIterator<T>An extension to the base interface to support restrictions on the base iterator, for example, to implement the mark-reset behaviour for the cross phase of the merge join. SkippingIterable<T>Interface for ordered data sources that returns a skipping iterator. SkippingIterator<T>Iterator over an ordered data source that is able to jump to a specific element (or the next greater after that). SkippingLongIteratorIterator for primitive longs that allows skipping.
Class Summary Class Description AbstractSkippingIterator<T>Abstract
SkippingIteratorimplementation to help with concrete implementations.
ArrayIterable<T>Adapter class for using an Array as an Iterable, particularly, for allowing parts of an array to be the iterable. ArrayIterator<T>Class which adapts an array of objects to the Iterator interface, particularly to allow sub-arrays to be iterated over. BatchingIterator<T>An iterator which batches elements of the underlying iterator. BidirectionalIteratorsUtility class for bidirectional iterators. BigArrayList<T>Simple implementation of a list that can have more than Integer.MAX_VALUE values. BoundedBuffer<T>Adapted from the example in Java Concurrency in Practice to add new methods like pause, resume, size, and uninterruptibles. BufferLists DelegatingSkippingIterator<T> DisjointSet<T>Disjoint set data structure. LongIterators MarkResetSkippingIterator<T> NestedList<T>An immutable linked list object with structure sharing. QueuedSortedIterator<T>A sorted iterator wrapper to which elements can be added dynamically. ResettableIterators SingletonQueue<T>A simple queue that can hold at most one element while in addition provides a function to
SkippingIterablesFew utility functions SkippingIteratorsFew utility methods to construct skipping iterators. SortedIteratorsFew utility methods to construct skipping iterators SortedIterators.UnionBuilder<T> SpoolingMarkResetIterator<T extends Copyable<T>>A wrapper around
MarkResetSkippingIteratorwith bounded spooling: once the
SpoolingMarkResetIterator.mark(Copyable)method has been called, the iterator will start spooling until one of the following conditions occurs: 1) the spooling threshold is reached, in which case the iterator switches to the
TransformingLongIterator<T>Transforms an object iterator to a long iterator. UpdatablePriorityQueue<T>PriorityQueue class implemented as a binary heap with the additional function that updates the head element if its priority changes.