可以从SortedMap获取有序集合吗?

时间:2013-02-04 22:59:15

标签: java collections map iterator

我有SortedMap(具体而言是TreeMap),我从中提取值。之后,我需要获取第一个和最后一个值,因为它们是在SortedMap中订购的。

SortedMap.values()会返回Collection,其Iterator会保留订单。因此,获取第一个值就像collection.iterator().next()一样简单。但是,获取最后一个值并不是那么简单 - 迭代到最后一个是非常低效的。

有解决方法吗?现在,我一直迭代到最后并存储该值,所以我只需要做一次......

1 个答案:

答案 0 :(得分:4)

如果您使用的是Java 6或更高版本,则可以使用NavigableMap代替SortedMap,并使用其lastEntry方法。

否则,您可以使用SortedMap.get(SortedMap.lastKey())