首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >了解TreeMaps

了解TreeMaps
EN

Stack Overflow用户
提问于 2012-03-04 05:25:32
回答 4查看 9.4K关注 0票数 7

这是一个关于树映射的noobie问题。我已经通读了Java API和其他文档,但仍然不清楚这是如何工作的。

据我所知,java (或任何语言)中的树有点像家谱树;您可以这样说:

代码语言:javascript
复制
Layer 1                               OldestGuy    
Layer 2       OldGuy1       Oldguy2         OldGuy3        OldGuy4           OldGuy5
Layer 3   Guy1 Guy2 Guy3 Guy4 Guy5  Guy6........ etc

其中layer 1有1个值(即一个中心节点),并且在随后的每个层中可以有任意数量的值(或Guy1 ),并且一些“分支”可能比其他的更长(例如,它可以OldestGuy -> OldGuy1 -> Guy1& Guy2...Guyn,而同时另一个分支只是OldestGuy -> OldGuy4)

带着这种想法,我试图在建立特定连接的同时,将值添加到特定分支的特定位置的TreeMap中,但我得到的结果似乎与HashMap相同。

(似乎我想要做的不只是TreeMap ....as键(或层(?))对于几个不同的值是相同的)

任何建议/解释都将是非常棒的,因为我觉得在这个问题上我真的找错了地方。

我见过使用TreeMap .jar (例如家谱)来实现这一点的例子,但我只是试图理解这一点,因为在googles和树之间似乎有很多冲突,以及如何在其中存储数据。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-03-04 05:29:22

TreeMap只是Map的一个实现,它恰好在幕后使用了一棵红黑树。树的细节不会暴露给您,因此您不能将元素存储在任意位置。

换句话说,TreeMap不是通用的树形数据结构。如果这就是您真正想要的,也许可以看看这个堆栈溢出问题:Java tree data-structure?

票数 10
EN

Stack Overflow用户

发布于 2018-01-06 17:37:54

代码语言:javascript
复制
public class TreeMap<K,V>
extends AbstractMap<K,V>
implements NavigableMap<K,V>, Cloneable, Serializable

  • 树映射不使用散列来存储密钥。它使用红黑树(自平衡二叉搜索树)。
  • TreeMap是根据其键的自然顺序进行排序的。树映射将始终将所有元素排序为。树映射的
  • 工作是基于树数据结构的。
  • 树映射是不同步的values.

,因此java中的not线程values.映射不允许空键,但允许多个空键

树形地图的工作是基于树形数据结构的。

  • 每个节点都有3个引用: PARENT、LEFT和RIGHT。
  • 左侧元素始终小于父元素。
  • RIGHT元素始终大于或等于父元素。
票数 3
EN

Stack Overflow用户

发布于 2012-03-04 05:29:40

Java使用树作为内部数据结构来进行O( TreeMap n)查找和插入,但不会在其接口中公开其树结构。因此,例如,无法获取树节点及其所有后代,也无法使用它表示家谱树。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9549991

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档