如果使用hashmap.values.toarray而不使用大于0的值,我不明白为什么用0初始化数组是有效的。
private class Node{
private char value;
private HashMap<Character, Node> children = new HashMap<>();
private void addChild(char ch) {
children.put(ch, new Node(ch));
}
private Node[] getChildren() {
return children.values().toArray(new Node[0]);
}
}
private Node root = new Node(' ');
public void insert(String word){
var current = root;
for ( var ch : word.toCharArray()){
if (!current.containsKey(ch))
current.addChild(ch);
current = current.get(ch);
}
}
public void print(){
print(root);
}
private void print(Node root){
for (var child : root.getChildren())
System.out.println(child.value);
}
如果我将其设置为初始化数组大小>零(例如新节点[1]),则此操作将不起作用;
暂无答案!
目前还没有任何答案,快来回答吧!