title: Sorting String keys of a Map according to their numeric value
body: <p>I need to write a class that handles a <code>Map&lt;String, String[]&gt;</code>, processing its keys according to their numeric order. To add insult to injury, some keys are not valid integers, and they should be processed at the end, in acceding lexicographic order.</p>
  
  <p>For example, if the keys are:</p>
  
  <pre><code>["10", "2", "100", "duck", "black"]
  </code></pre>
  
  <p>They should by iterated at this order -</p>
  
  <pre><code>["2", "10", "100", "black", "duck"]
  </code></pre>
  
  <p>What's the most elegant way to do it in Java, other than iterating and try-catching <code>NumberFormatException</code>? Obviously, I can not control the format of the given map.</p>