Class ParallelIterator<Type1,​Type2>

  • All Implemented Interfaces:
    java.util.Iterator<Pair<Type1,​Type2>>

    public class ParallelIterator<Type1,​Type2>
    extends java.lang.Object
    implements java.util.Iterator<Pair<Type1,​Type2>>
    An iterator that iterates over two iterators simultaneously. Expects the ranges of both iterators to have the same length.
    • Constructor Summary

      Constructors 
      Constructor Description
      ParallelIterator​(java.util.Iterator<Type1> iterator1, java.util.Iterator<Type2> iterator2)
      Creates a ParallelIterator that iterates over the given iterators simultaneously.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static <Type1,​Type2>
      ParallelIterator<Type1,​Type2>
      create​(java.util.Iterator<Type1> iterator1, java.util.Iterator<Type2> iterator2)
      Convenience method that wraps the constructor call and lets the compiler determine the generic types.
      boolean hasNext()
      Pair<Type1,​Type2> next()
      The result will hold the result of the Iterator.next() call of the first iterator first, then the one of the second iterator.
      static <Type1,​Type2>
      java.lang.Iterable<Pair<Type1,​Type2>>
      parallel​(java.lang.Iterable<Type1> iterable1, java.lang.Iterable<Type2> iterable2)  
      void remove()
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface java.util.Iterator

        forEachRemaining
    • Constructor Detail

      • ParallelIterator

        public ParallelIterator​(java.util.Iterator<Type1> iterator1,
                                java.util.Iterator<Type2> iterator2)
        Creates a ParallelIterator that iterates over the given iterators simultaneously.
        Parameters:
        iterator1 - the first iterator to iterate over. The return values of its Iterator.next() method will be first in the result pair of the next() method.
        iterator2 - the second iterator to iterate over. The return values of its Iterator.next() method will be second in the result pair of the next() method.
    • Method Detail

      • hasNext

        public boolean hasNext()
        Specified by:
        hasNext in interface java.util.Iterator<Type1>
      • next

        public Pair<Type1,​Type2> next()
        The result will hold the result of the Iterator.next() call of the first iterator first, then the one of the second iterator.
        Specified by:
        next in interface java.util.Iterator<Type1>
      • remove

        public void remove()
        Specified by:
        remove in interface java.util.Iterator<Type1>
      • create

        public static <Type1,​Type2> ParallelIterator<Type1,​Type2> create​(java.util.Iterator<Type1> iterator1,
                                                                                     java.util.Iterator<Type2> iterator2)
        Convenience method that wraps the constructor call and lets the compiler determine the generic types.
      • parallel

        public static <Type1,​Type2> java.lang.Iterable<Pair<Type1,​Type2>> parallel​(java.lang.Iterable<Type1> iterable1,
                                                                                               java.lang.Iterable<Type2> iterable2)