我正在学习Trie,并且正在研究具有带有HashMap实现的Node的Trie实现。 我不了解 TrieNode的子角色是角色和Trienode(自身)的地图的部分。 这是否不会创建一个无限循环,在该循环中TrieNode调用子节点,而Children再次调用Trienode,依此类推?。这部分代码如何工作?
// Private class
private class TrieNode {
Map<Character, TrieNode> children;
boolean endOfWord;
// Constructor
public TrieNode() {
children = new HashMap<>();
endOfWord = false;
}
}// End of inner class
答案 0 :(得分:0)
在Map<character, Trienode> children;
行中,TrieNode
只是一个类型名称。实例化此映射时(在构造函数中),不会创建/调用TrieNode
对象,但是会使用TrieNode
类型信息正确创建映射。