私は Java に非常に慣れていないので、Python プログラムの 1 つを Java に変換するという演習に取り組んでいます。
私は動作を複製しようとしている問題に遭遇しました.Pythonから、以下は値ではなく(値で)ソートされたキーのみを返します:
popular_numbers = sorted(number_dict, key = number_dict.get, reverse = True)
Java について少し調べてみましたが、自分のような n00b や同等の方法の簡単なサンプルをまだ見つけていません。並べ替えに Guava を使用する例を見つけましたが、並べ替えはキーで並べ替えられた HashMap を返すようです。
上記に加えて、Java では見つけられなかった Python の優れた点の 1 つは、ソートされた値のサブセットを簡単に返すことができることです。Python では、次のことを簡単に実行できます。
print "Top 10 Numbers: %s" % popular_numbers[:10]
この例では、number_dict はキーと値のペアのディクショナリで、キーは数字 1..100 を表し、値は数字 (キー) の出現回数です。
for n in numbers:
if not n == '':
number_dict[n] += 1
最終結果は次のようになります。
上位 10 の数字: ['27'、'11'、'5'、'8'、'16'、'25'、'1'、'24'、'32'、'20']
明確にするために、JavaでHashMapを正常に作成し、数値を正常に調べて、キーと値のペアの値を増やしました。私は今、ソートで立ち往生しており、値に基づいて上位 10 個の数字 (キー) を返します。