Java 是否可以从分类地图中获取订购的集合?

Java 是否可以从分类地图中获取订购的集合?,java,collections,map,iterator,Java,Collections,Map,Iterator,我有一个SortedMap一个TreeMap,具体来说,我从中提取值。稍后,我需要获取第一个和最后一个值,因为它们是在SortedMap中排序的 values返回一个集合,其迭代器保留顺序。因此,获取第一个值与collection.iterator.next一样简单。然而,获取最后一个值并不是那么简单——一路迭代以获取最后一个值是非常低效的 有办法解决这个问题吗?现在,我一直迭代到最后并存储该值,所以我只需执行一次…如果您使用的是Java 6或更高版本,您可以使用NavigableMap而不是S

我有一个SortedMap一个TreeMap,具体来说,我从中提取值。稍后,我需要获取第一个和最后一个值,因为它们是在SortedMap中排序的

values返回一个集合,其迭代器保留顺序。因此,获取第一个值与collection.iterator.next一样简单。然而,获取最后一个值并不是那么简单——一路迭代以获取最后一个值是非常低效的


有办法解决这个问题吗?现在,我一直迭代到最后并存储该值,所以我只需执行一次…

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


否则,您可以使用SortedMap.getSortedMap.lastKey。

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


否则,您可以使用SortedMap.getSortedMap.lastKey。

这很有帮助。但是,我想知道是否有一种方法可以在不访问基础映射的情况下访问第一个和最后一个值?我不再能够访问需要访问值的地图。如果SortedMap.values返回一个列表就好了,例如…不,在这种情况下,您无能为力。这很有帮助。但是,我想知道是否有一种方法可以在不访问基础映射的情况下访问第一个和最后一个值?我不再能够访问需要访问值的地图。如果SortedMap.values返回一个列表就好了,例如…不,在这种情况下,您无能为力。SortedMap.getsortedMap.lastKey如何?SortedMap.getsortedMap.lastKey如何?