我有一个TreeMap
,其中包含双键和字符串值,例如:
TreeMap<Double,String> tm = new TreeMap<Double,String>();
tm.put(1,"worst");
tm.put(2,"middle");
tm.put(3,"best");
我需要一种能够获得树图的X%的方法,例如在这种情况下,如果我说:
得到33%然后&#34;最好&#34;将被退回,如果我说66%然后&#34;最好&#34;中间将被退回。
有没有简单的方法可以做到这一点?如何在地图中向后迭代?
答案 0 :(得分:-1)
// ratio - 0.0 - 1.0
List<String> getRatio(Map<Double,String> map, double ratio)
{
List<String> result = new ArrayList<String>();
for (Entry<Double, String> e: map.entrySet()) {
double newRatio = (double) result.size() / map.size();
if (newRatio >= ratio)
break;
result.add(e.getValue());
}
return result;
}