如果将hashmap转换为数组,为什么将数组初始化为大小>0将不起作用

zyfwsgd6  于 2021-09-13  发布在  Java
关注(0)|答案(0)|浏览(146)

如果使用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]),则此操作将不起作用;

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题