Class AbstractTrieSetMultimap.TrieSetMultimap_BleedingEdgeNodeIterator<K,​V,​C,​R extends MultimapNode<K,​V,​C,​R>>

  • All Implemented Interfaces:
    java.util.Iterator<R>
    Enclosing class:
    AbstractTrieSetMultimap<K,​V,​C extends java.lang.Iterable<V>,​R extends MultimapNode<K,​V,​C,​R>>

    private static class AbstractTrieSetMultimap.TrieSetMultimap_BleedingEdgeNodeIterator<K,​V,​C,​R extends MultimapNode<K,​V,​C,​R>>
    extends java.lang.Object
    implements java.util.Iterator<R>
    Iterator that first iterates over inlined-values and then continues depth first recursively.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      (package private) java.util.Deque<java.util.Iterator<? extends R>> nodeIteratorStack  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean hasNext()  
      R next()  
      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
    • Field Detail

      • nodeIteratorStack

        final java.util.Deque<java.util.Iterator<? extends R extends MultimapNode<K,​V,​C,​R>>> nodeIteratorStack
    • Constructor Detail

      • TrieSetMultimap_BleedingEdgeNodeIterator

        TrieSetMultimap_BleedingEdgeNodeIterator​(R rootNode)
    • Method Detail

      • hasNext

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

        public R next()
        Specified by:
        next in interface java.util.Iterator<K>
      • remove

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