所以我有一个循环,它将根据匹配的单词数比较两行代码,每个循环的输出是匹配单词数的百分比。我需要存储所有百分比和相应的响应,以便在比较所有行时打印出相应响应的最高百分比。
到目前为止,我已经尝试过不适用于字符串和双精度数的多维数组,然后我继续使用无法正常工作的哈希图。
解决这个问题的首选方法是什么,如果可能的话,你能举个例子吗?
所以我有一个循环,它将根据匹配的单词数比较两行代码,每个循环的输出是匹配单词数的百分比。我需要存储所有百分比和相应的响应,以便在比较所有行时打印出相应响应的最高百分比。
到目前为止,我已经尝试过不适用于字符串和双精度数的多维数组,然后我继续使用无法正常工作的哈希图。
解决这个问题的首选方法是什么,如果可能的话,你能举个例子吗?
如果我理解正确:
使用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 编码)