Map<String, String[]>
を扱うクラスを記述し、そのキーを数値順に処理する必要があります。傷害に侮辱を加えるために、いくつかの鍵は有効な整数ではなく、最終的に辞書編集順にアクセスする必要があります。マップの文字列キーを数値で並べ替える
キーがある場合たとえば、:
["10", "2", "100", "duck", "black"]
彼らはこの順序で繰り返しによって必要があります -
["2", "10", "100", "black", "duck"]
反復以外のJava、でそれを行うとしようとする最もエレガントな方法は何 - キャッチNumberFormatException
?明らかに、私は与えられたマップのフォーマットを制御することはできません。
+1を除いてInteger.valueOfを直接呼び出すことはできませんが、非数値文字列を扱うのは例外的な状況ではないためです。例外はこのように使用されることは想定されていません。 –
合意。残念ながら、標準のJava APIは適切な代替手段を提供していません。 (本当に気にしているのであれば、チェックを行うメソッドを自分で実装できます - http://stackoverflow.com/questions/237159/whats-the-best-way-to-check-to-see-if-aを参照してください。 -stringはJavaの整数を表しますが、これは痛みであるという事実はよく知られたAPI疣贅です。 – jacobm
実際に私はこのベンチマークがRegexの使用が悪い考えではないことを示していると考えています:http ://stackoverflow.com/a/7324087/82609 –