-1

したがって、一致する単語数に応じて 2 行のコードを比較するループがあります。各ループの出力は、一致する単語数のパーセンテージです。すべてのパーセンテージとそれに応じた応答を保存して、すべての行を比較したときに最高のパーセンテージが出力されるようにする必要があります。

これまでのところ、文字列と double では機能しない多次元配列を試しましたが、正しく機能しないハッシュマップに進みました。

これを行うための好ましい方法は何ですか?可能であれば例を挙げていただけますか?

4

2 に答える 2

0

を使用し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 用にコーディングされています)

于 2013-06-06T20:12:47.493 に答える