title: Java 1.8: partial traverse of NavigableMap with amortized O(1) to find following entry?
body: <p>I am content to have a O(log n) first operation to find my start point in a</p>
  
  <pre><code>NavigableMap&lt;Double,MyThing&gt; navlevel = new TreeMap&lt;&gt;();
  </code></pre>
  
  <p>But in hand-written C++ (or I suppose hand-written Java) once I found a node pointing to the MyThing in question, I could then do a "next" operation on that node which would amortize to just a couple pointer operations.   (If there's a right link, go right then all the way left; otherwise go to your parent until find a node where you're coming from the parent's left child node.)</p>
  
  <pre><code>    Map.Entry&lt;Double,MyThing&gt; entry =
          navthing.ceilingEntry( dSomeValue );
  
      while ( entry != null ) {
  
          MyThing level = entry.getValue();
  
          // Process and break on some condition.
  
          // vvvvvvvvv This I'm sure is O( log n ) and I want it to be faster!
          entry = navthing.higherEntry( entry.getKey() );
      }
  </code></pre>