# Package com.complexible.common.collect

package com.complexible.common.collect

- Related Packages
  Package
  Description
  com.complexible.common
- Class
  Description
  AbstractSkippingIterator<T>
  Abstract `SkippingIterator` 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.
  BidirectionalIterator<T>
  An Iterator which can iterate back to previous elements.
  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.
  BufferList<T>
  BufferLists
  DelegatingSkippingIterator<T>
  DisjointSet<T>
  Disjoint set data structure.
  ExtendedBufferList<T>
  An extension of `BufferList` which can maintain its sorted state and eagerly remove duplicates when elements are inserted.
  LongIterators
  MarkResetIterator<T>
  An interface to support multiple passes over a specific part of the iterator's output via mark/reset operations.
  MarkResetSkippingIterator<T>
  Implements the `mark-reset behavior` via `ResettableIterator.reset()` and `SkippingIterator.skipTo(Object)`.
  NestedList<T>
  An immutable linked list object with structure sharing.
  NonDominatedSolutions<T extends Iterable<? extends Number>>
  A collection which keeps all non-dominated solutions in terms of a (multi-objective) optimization problem.
  PartitionedSkippingIterable<T>
  Interface for ordered data sources that returns a skipping iterator.
  PeekingLongIterator
  PeekingSkippingIterator<T>
  QueuedSortedIterator<T>
  A sorted iterator wrapper to which elements can be added dynamically.
  ResettableIterator<T>
  Iterator which can be reset to the first element.
  ResettableIterators
  ResettablePredicate<T>
  An interface for stateful `Predicate` 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.
  SingletonQueue<T>
  A simple queue that can hold at most one element while in addition provides a function to `SingletonQueue.close()` the queue.
  SkippingIterable<T>
  Interface for ordered data sources that returns a skipping iterator.
  SkippingIterables
  Few utility functions
  SkippingIterator<T>
  Iterator over an ordered data source that is able to jump to a specific element (or the next greater after that).
  SkippingIterators
  Few utility methods to construct skipping iterators.
  SkippingLongIterator
  Iterator for primitive longs that allows skipping.
  SortedIterators
  Few utility methods to construct skipping iterators
  SortedIterators.UnionBuilder<T>
  SpoolingMarkResetIterator<T extends Copyable<T>>
  A wrapper around `MarkResetSkippingIterator` with bounded spooling: once the `SpoolingMarkResetIterator.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 the `skipping-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.