【发布时间】:2016-10-06 01:36:10
【问题描述】:
我需要在 Map 上存储一个迭代器来实现对 trie 的遍历。在 Java 中我做到了:
class Node {
HashMap<Character, Node> children = new HashMap<>();
Iterator<Character> i = children.keySet().iterator();
public boolean hasNext() {
return i.hasNext();
}
public CharNode next() {
Character letter = i.next();
return new CharNode(letter, children.get(letter));
}
...
我这样做的原因是我使用队列来遍历trie,迭代器保持遍历的状态。
在 Scala 中,我不知道如何创建相应的迭代器,除非我使用 Java util.Iterator 和 Java util.Map。在 Scala 中有没有更惯用的方法来做到这一点?
【问题讨论】: