したがって、一致する単語数に応じて 2 行のコードを比較するループがあります。各ループの出力は、一致する単語数のパーセンテージです。すべてのパーセンテージとそれに応じた応答を保存して、すべての行を比較したときに最高のパーセンテージが出力されるようにする必要があります。
これまでのところ、文字列と double では機能しない多次元配列を試しましたが、正しく機能しないハッシュマップに進みました。
これを行うための好ましい方法は何ですか?可能であれば例を挙げていただけますか?
したがって、一致する単語数に応じて 2 行のコードを比較するループがあります。各ループの出力は、一致する単語数のパーセンテージです。すべてのパーセンテージとそれに応じた応答を保存して、すべての行を比較したときに最高のパーセンテージが出力されるようにする必要があります。
これまでのところ、文字列と double では機能しない多次元配列を試しましたが、正しく機能しないハッシュマップに進みました。
これを行うための好ましい方法は何ですか?可能であれば例を挙げていただけますか?
を使用しTreeMap
ます。ここでは、パーセンテージがdouble
次のとおりであると想定しています。
final TreeMap<Double, String> map = new TreeMap<>();
for (final String lineOfCode: allLinesOfCode())
map.put(calculatePercentage(lineOfCode), lineOfCode);
次に、逆に繰り返します (ここで重要なのは への呼び出しです.descendingMap()
)。最高のものから最低のものまで取得します。
for (final Map.Entry<> entry: map.descendingMap().entrySet())
// percentage in entry.getKey(), line in entry.getValue()
最後のエントリ (最高パーセンテージ) のみが必要な場合:
final Map.Entry<> entry = map.lastEntry();
// same as in interation for percentage and line
(注: Java 7 用にコーディングされています)