Package com.complexible.common.collect
-
Interface Summary Interface Description BidirectionalIterator<T> An Iterator which can iterate back to previous elements.BufferList<T> ExtendedBufferList<T> An extension ofBufferList
which 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 statefulPredicate
implementations 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).SkippingLongIterator Iterator for primitive longs that allows skipping. -
Class Summary Class Description AbstractSkippingIterator<T> AbstractSkippingIterator
implementation 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.BidirectionalIterators Utility 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> Implements themark-reset behavior
viaResettableIterator.reset()
andSkippingIterator.skipTo(Object)
.NestedList<T> An immutable linked list object with structure sharing.NonDominatedSolutions<T extends java.lang.Iterable<? extends java.lang.Number>> A collection which keeps all non-dominated solutions in terms of a (multi-objective) optimization problem.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 toSingletonQueue.close()
the queue.SkippingIterables Few utility functionsSkippingIterators Few utility methods to construct skipping iterators.SortedIterators Few utility methods to construct skipping iteratorsSortedIterators.UnionBuilder<T> SpoolingMarkResetIterator<T extends Copyable<T>> A wrapper aroundMarkResetSkippingIterator
with bounded spooling: once theSpoolingMarkResetIterator.mark(T)
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 theskipping-based
mark-reset behavior.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.