Package edu.jas.arith

Class BigRationalUniqueIterator

  • All Implemented Interfaces:
    java.util.Iterator<BigRational>

    class BigRationalUniqueIterator
    extends java.lang.Object
    implements java.util.Iterator<BigRational>
    Big rational unique iterator. Uses Cantors diagonal enumeration, produces distinct elements.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      (package private) java.util.Iterator<BigRational> ratit  
      (package private) java.util.Set<BigRational> unique
      data structure.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean hasNext()
      Test for availability of a next element.
      BigRational next()
      Get next rational.
      void remove()
      Remove an element if allowed.
      • 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
    • Field Detail

      • unique

        final java.util.Set<BigRational> unique
        data structure.
    • Constructor Detail

      • BigRationalUniqueIterator

        public BigRationalUniqueIterator()
        BigRational iterator constructor.
      • BigRationalUniqueIterator

        public BigRationalUniqueIterator​(java.util.Iterator<BigRational> rit)
        BigRational iterator constructor.
        Parameters:
        rit - backing rational iterator of non unique elements
    • Method Detail

      • hasNext

        public boolean hasNext()
        Test for availability of a next element.
        Specified by:
        hasNext in interface java.util.Iterator<BigRational>
        Returns:
        true if the iteration has more elements, else false.
      • next

        public BigRational next()
        Get next rational.
        Specified by:
        next in interface java.util.Iterator<BigRational>
        Returns:
        next rational.
      • remove

        public void remove()
        Remove an element if allowed.
        Specified by:
        remove in interface java.util.Iterator<BigRational>