【发布时间】:2014-09-24 10:29:58
【问题描述】:
您好,我正在尝试根据该对象的值对该对象进行排序。最初我使用 TreeMap 进行排序,但有一些非唯一键被删除,因此不起作用。我搜索了一下,发现了 Guava MultiMap。但是我如何实际使用它来对值进行排序?
基本上,我正在尝试根据 diffYTD_percentage 值对预算信息进行排序。谢谢!
Multimap<Double, BudgetInformation> multiMap = ArrayListMultimap.create();
for (Budget budget : budgets) {
BudgetInformation budgetInfo = getBudget(budget.getId());
double actualToDate = budgetInfo.getActualToDate();
double budgetToDate = budgetInfo.getTotalBudgetToDate();
double diffYTD_value = budgetToDate - actualToDate;
double diffYTD_percentage_value = 0.0;
if (budgetToDate != 0.0) {
double fraction = actualToDate / budgetToDate;
fraction = fraction - 1;
diffYTD_percentage_value = fraction * 100;
}
multiMap.put(diffYTD_percentage_value, budgetInfo);
}
Iterator<BudgetInformation> budgetIterator = multiMap.values().iterator();
【问题讨论】:
标签: java sorting map guava multimap