Navigableset与Navigablemap

时间:2019-03-01 10:07:49

标签: java collections

我是JAVA的新手,对于结构和实现这两个数据结构navigableset和navigablemap之间的差异,我感到非常困惑。 我们应该在哪里使用它们?

1 个答案:

答案 0 :(得分:2)

NavigableMap 扩展了SortedMap接口,该接口表示已排序的地图。 NavigableMap提供了在排序集合的上下文中获取相对于其他元素的地图元素的方法。例如,它具有ceilingEntry(K obj)方法,该方法返回具有最低密钥的条目,该最低密钥大于或等于作为参数传递的对象。或者使用lastEntry()方法,该方法返回具有最大密钥的条目,依此类推。

NavigableSet 扩展了SortedSet接口,并且NavigableMap接口还提供了用于在集合上导航元素的方法。例如,它具有pollFirst()方法,用于检索和删除集合中的最低元素。

它们之间的差异代表不同的数据结构。尽管某些Set实现倾向于以适当的Map实现为后盾,但您不必担心实现细节,也可以将它们视为两个不同的数据结构。

NavigableMap 表示一个地图,该地图还根据客户端进行了排序。 Map是一种数据结构,将其元素与某些键相关联,以便可以通过该键获取这些元素。

NavigableSet 界面表示按照客户端排序的Set。集合是不同元素的无序集合(即,它不存储重复项)。

因此,当需要有序的Set及其提供的操作时,请使用 NavigableSet ;而在需要有序的Map及其功能时,请使用 NavigableMap 。相应的文档章节中都指定了这两种功能。