Java 遍历二进制搜索树

Java 遍历二进制搜索树,java,binary-search-tree,Java,Binary Search Tree,我想用Java浏览字典中的每一项。为了说明我想做什么,下面是C代码: 字典标签列表=新字典(); foreach(LabelList中的KeyValuePair z){…} 要在不使用映射迭代器的情况下进行迭代: for(Type t : map.values().toArray(new Type[map.size()])) { //values } 虽然我已经有一段时间没有使用过这个工具了,但是可能有一种更干净的方法来实现这个功能,您想要使用的是或来实现Java中的字典。Ha

我想用Java浏览字典中的每一项。为了说明我想做什么,下面是C代码:

字典标签列表=新字典();
foreach(LabelList中的KeyValuePair z){…}

要在不使用映射迭代器的情况下进行迭代:

 for(Type t : map.values().toArray(new Type[map.size()])) {
      //values
 }

虽然我已经有一段时间没有使用过这个工具了,但是可能有一种更干净的方法来实现这个功能,您想要使用的是或来实现Java中的字典。HashMap类使用哈希来维护字典,而TreeMap使用红黑树(BST的变体)来维护字典

temp += ("<" + it.next() + ", " + bstd.getValue(it.next()) + ">");
此外,如果映射是从字符串到类标签,则可以使用以下代码。您还必须导入java.util.*并单独声明Label类,代码才能成功运行

    TreeMap<String, Label> map = new TreeMap<String, Label>();
    for (Map.Entry<String, Label> entry : map.entrySet()){
         System.out.println(entry.getKey() + "/" + entry.getValue());
    }
TreeMap map=newtreemap();
对于(Map.Entry:Map.entrySet()){
System.out.println(entry.getKey()+“/”+entry.getValue());
}

什么是
BinarySearchTreeDictionary
?它的
迭代器
方法是什么?什么是
BinarySearchTreeDictionary
?它是否有
映射的支持?
?请添加所获得的错误和堆栈跟踪。因此,即使不知道
二进制搜索目录是什么,您也可能不希望每次迭代调用
.next()
。更相关:我可以想象,
iterator()
将迭代器返回到完整的条目集,或者只是返回值列表(因为它显然不会返回键集的直接迭代器);因此,您需要检查
BinarySearchTreeDictionary
的文档/方法,并适当地使用正确的方法(无论它们是什么)。//BinarySearchDictionary是我的类名//来自实现可比接口的类。公共类BinarySearchTreeDictionary实现Iterable{
Object current = it.next();
temp += ("<" + current + ", " + bstd.getValue(current) + ">");
    TreeMap<String, Label> map = new TreeMap<String, Label>();
    for (Map.Entry<String, Label> entry : map.entrySet()){
         System.out.println(entry.getKey() + "/" + entry.getValue());
    }