java - 为什么我在调试器中看不到所有变量?

标签 java collections set treemap treeset

Intellij IDEA debugger

大家好!

我尝试调试TreeSet<String>/TreeMap<String>但发现调试器由于某种原因不想显示 parentleft/right节点的子节点。

我期望看到嵌套节点,但只公开键/值。 当然,如果我评估 this.left/this.right它会给我 child 。

这是 IDEA 的错误吗?为什么它只显示键和值?

此外,我注意到,当我们从客户端代码获取元素时,我们会收到 String而不是TreeMap.Entry 。我们应该怎么做才能获得 parent/left/right客户端代码中当前项目的位置?

最佳答案

您使用的是 TreeMap,因此您拥有键/值,并且它按键排序,就好像所有键都在 TreeSetTreeSet< 中一样 不像

那样引用具有 parent/left/rigth 的二叉树
   parent
     |
   node
  /    \
left  right

TreeSet 是一个有序集,遵循自然顺序自定义比较器

规则

TreeSet Documentation : A NavigableSet implementation based on a TreeMap. The elements are ordered using their natural ordering, or by a Comparator provided at set creation time, depending on which constructor is used.

因此,TreeMap 是一个TreeSet,您只需向每个键添加一个值

关于java - 为什么我在调试器中看不到所有变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52448351/

相关文章:

java - 无法使用 Collections(Java) 对文件名将包含时间戳的文件列表进行排序

python - 我可以使用集合理解从更大的字典列表中创建字典列表吗?

java assertEquals 集合

带有 MULTIPLE SET 和 WHERE 子句以及 SUM 函数的 MYSQL UPDATE

java - 如果 20 多岁没有 Activity ,tomcat 会超时吗?

java - 进入情感分析

java - 在 JUnit 测试中处理 Swing 事件

c# - 通用类接受原始类型和字符串

java - 如何在安卓应用中设置最大音量?

java - 在检查 ArrayList 中的 -1 值时 Collections.Frequency 返回 0