2016-10-06 90 views
0

我需要在Map上存儲迭代器以實現遍歷樹。在Java中我所做的:在Scala地圖上存儲迭代器

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)); 
    } 
... 

我這樣做的原因是,我使用隊列遍歷線索,和迭代器保持遍歷的狀態。我不知道如何創建相應的迭代器,除非我回頭看Java util.Iterator和Java util.Map。在Scala中有更習慣的方式來做到這一點嗎?

回答