我有SortedMap
(具体而言是TreeMap
),我从中提取值。之后,我需要获取第一个和最后一个值,因为它们是在SortedMap
中订购的。
SortedMap.values()
会返回Collection
,其Iterator
会保留订单。因此,获取第一个值就像collection.iterator().next()
一样简单。但是,获取最后一个值并不是那么简单 - 迭代到最后一个是非常低效的。
有解决方法吗?现在,我一直迭代到最后并存储该值,所以我只需要做一次......
答案 0 :(得分:4)
如果您使用的是Java 6或更高版本,则可以使用NavigableMap
代替SortedMap
,并使用其lastEntry
方法。
否则,您可以使用SortedMap.get(SortedMap.lastKey())
。