java Navigableset vs Navigablemap 7 月,2 周 Questions & Answers 367 我是JAVA新手,对于navigableset和navigablemap这两种数据结构在结构和实现方面的差异,我感到非常困惑。 我们应该在哪里使用它们
# 1 楼答案 导航地图扩展了表示已排序地图的SortedMap接口。NavigableMap提供了在排序集合的上下文中获取相对于其他元素的地图元素的方法。例如,它有ceilingEntry(K obj)方法,该方法返回一个项,该项的最低键大于或等于作为参数传递的对象。或者lastEntry()方法,返回具有最大键的条目,依此类推 NavigableSet扩展了SortedSet界面,NavigableMap界面提供了在集合上导航元素的方法。例如,它有pollFirst()方法来检索和删除集合中最低的元素 它们之间的差异是表示不同的数据结构。尽管有些Set实现往往由适当的Map实现支持,但您不应该关心实现细节,而应该将它们视为两种不同的数据结构 NavigableMap表示一个地图,该地图根据客户机进行额外排序。映射是一种数据结构,它将其元素与某些键相关联,以便这些元素可以通过这些键获得 NavigableSet接口表示按客户端排序的集合。集合是不同元素的无序集合(即它不存储重复项) 因此,当您需要一个有序的集合及其提供的操作时,请使用NavigableSet;当您需要一个有序的映射及其功能时,请使用NavigableMap。两者的功能都在相应的文档章节中指定
# 1 楼答案
导航地图扩展了表示已排序地图的SortedMap接口。NavigableMap提供了在排序集合的上下文中获取相对于其他元素的地图元素的方法。例如,它有
ceilingEntry(K obj)
方法,该方法返回一个项,该项的最低键大于或等于作为参数传递的对象。或者lastEntry()
方法,返回具有最大键的条目,依此类推NavigableSet扩展了SortedSet界面,NavigableMap界面提供了在集合上导航元素的方法。例如,它有
pollFirst()
方法来检索和删除集合中最低的元素它们之间的差异是表示不同的数据结构。尽管有些Set实现往往由适当的Map实现支持,但您不应该关心实现细节,而应该将它们视为两种不同的数据结构
NavigableMap表示一个地图,该地图根据客户机进行额外排序。映射是一种数据结构,它将其元素与某些键相关联,以便这些元素可以通过这些键获得
NavigableSet接口表示按客户端排序的集合。集合是不同元素的无序集合(即它不存储重复项)
因此,当您需要一个有序的集合及其提供的操作时,请使用NavigableSet;当您需要一个有序的映射及其功能时,请使用NavigableMap。两者的功能都在相应的文档章节中指定