我打算使用番石榴表以表格格式存储我的值。我想知道一些函数,它根据表中的值执行降序排序......你们能否对此发表一些看法。谢谢你。
问问题
2721 次
1 回答
6
就像使用地图一样,您应该复制cellSet()
,按值对单元格进行排序,然后将其放入一个 order-preservingImmutableTable
中。
Ordering<Table.Cell<String, String, Integer>> comparator =
new Ordering<Table.Cell<String, String, Integer>>() {
public int compare(
Table.Cell<String, String, Integer> cell1,
Table.Cell<String, String, Integer> cell2) {
return cell1.getValue().compareTo(cell2.getValue());
}
};
// That orders cells in increasing order of value, but we want decreasing order...
ImmutableTable.Builder<String, String, Integer>
sortedBuilder = ImmutableTable.builder(); // preserves insertion order
for (Table.Cell<String, String, Integer> cell :
comparator.reverse().sortedCopy(table.cellSet())) {
sortedBuilder.put(cell);
}
return sortedBuilder.build();
无论如何,这或多或少正是您编写的按值对地图进行排序的代码。
于 2012-07-28T08:28:28.120 回答