谷歌收藏品在地图上排序

时间:2010-05-23 13:07:13

标签: google-maps collections

我想根据值订购地图(A,Double)。

Function<Map.Entry<A, Double>, Double> getSimFunction = new Function<Map.Entry<A, Double>, Double>() {
        public Double apply(Map.Entry<A, Double> entry) {
            return entry.getValue();
        }
    };

    final Ordering<Map.Entry<A, Double>> entryOrdering = Ordering.natural().onResultOf(getSimFunction);
    ImmutableSortedMap.orderedBy(entryOrdering).putAll(....).build();

如何根据排序结果或基于map.keyset()的sortedset创建新的sortedMap?

1 个答案:

答案 0 :(得分:0)

这个怎么样?

ImmutableMap.Builder<A, Double> builder = ImmutableMap.builder();
for (Map.Entry<A, Double> entry : entryOrdering.sortedCopy(unsortedMap.entrySet())) {
    builder.put(entry.getKey(), entry.getValue());
}
ImmutableMap<A,Double> sortedMap = builder.build();