Class IteratorUtility

java.lang.Object
org.apache.bookkeeper.util.IteratorUtility

public class IteratorUtility extends Object
Utility class to merge iterators.
  • Constructor Details

    • IteratorUtility

      public IteratorUtility()
  • Method Details

    • mergePrimitiveLongIterator

      public static PrimitiveIterator.OfLong mergePrimitiveLongIterator(PrimitiveIterator.OfLong iter1, PrimitiveIterator.OfLong iter2)
      Merges two long primitive sorted iterators and returns merged iterator. It expects - input iterators to be sorted - input iterators to be non-repetitive for merged iterator to be non-repetitive It removes duplicates from the input iterators.
      Parameters:
      iter1 - first primitive oflong input iterator
      iter2 - second primitive oflong input iterator
      Returns:
      merged primitive oflong iterator.
    • mergeIteratorsForPrimitiveLongIterator

      public static <T> PrimitiveIterator.OfLong mergeIteratorsForPrimitiveLongIterator(Iterator<T> iter1, Iterator<T> iter2, Comparator<T> comparator, ToLongFunction<T> function)
      Merges two sorted iterators and returns merged iterator sorted using comparator. It uses 'function' to convert T type to long, to return long iterator. It expects - input iterators to be sorted - input iterators to be non-repetitive for merged iterator to be non-repetitive It removes duplicates from the input iterators.
      Parameters:
      iter1 - first iterator of type T
      iter2 - second iterator of type T
      comparator -
      function -
      Returns: