Package com.complexible.common.collect
package com.complexible.common.collect
-
ClassDescriptionAbstract
SkippingIteratorimplementation to help with concrete implementations.Adapter class for using an Array as an Iterable, particularly, for allowing parts of an array to be the iterable.Class which adapts an array of objects to the Iterator interface, particularly to allow sub-arrays to be iterated over.An iterator which batches elements of the underlying iterator.An Iterator which can iterate back to previous elements.Utility class for bidirectional iterators.BigArrayList<T>Simple implementation of a list that can have more than Integer.MAX_VALUE values.Adapted from the example in Java Concurrency in Practice to add new methods like pause, resume, size, and uninterruptibles.BufferList<T>DisjointSet<T>Disjoint set data structure.An extension ofBufferListwhich can maintain its sorted state and eagerly remove duplicates when elements are inserted.An interface to support multiple passes over a specific part of the iterator's output via mark/reset operations.Implements themark-reset behaviorviaResettableIterator.reset()andSkippingIterator.skipTo(Object).NestedList<T>An immutable linked list object with structure sharing.A collection which keeps all non-dominated solutions in terms of a (multi-objective) optimization problem.Interface for ordered data sources that returns a skipping iterator.A sorted iterator wrapper to which elements can be added dynamically.Iterator which can be reset to the first element.An interface for statefulPredicateimplementations that provides a reset function to clearing the internal state.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.A simple queue that can hold at most one element while in addition provides a function toSingletonQueue.close()the queue.Interface for ordered data sources that returns a skipping iterator.Few utility functionsIterator over an ordered data source that is able to jump to a specific element (or the next greater after that).Few utility methods to construct skipping iterators.Iterator for primitive longs that allows skipping.Few utility methods to construct skipping iteratorsSpoolingMarkResetIterator<T extends Copyable<T>>A wrapper aroundMarkResetSkippingIteratorwith 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-basedmark-reset behavior.Transforms an object iterator to a long iterator.PriorityQueue class implemented as a binary heap with the additional function that updates the head element if its priority changes.