title: how to sort a map by its key's under score occurrences
body: <p>i have a map having </p>
  
  <pre><code>map.put("100_101","lll")
  map.put("100_102","lll")
  map.put("100_101_103","lll")
  map.put("100_101_104","lll")
  map.put("100","lll")
  </code></pre>
  
  <p>expected result is order by map key number of underscore occurrences.</p>
  
  <pre><code>map.put("100","lll")
  map.put("100_101","lll")
  map.put("100_102","lll")
  map.put("100_101_103","lll")
  map.put("100_101_104","lll")
  </code></pre>