这是一个工作的java代码,用于实现trie数据结构。
class TrieNode {
TrieNode[] arr;
boolean isEnd;
// Initialize your data structure here.
public TrieNode() {
this.arr = new TrieNode[26];
}
我不明白的是内存分配是如何工作的
TrieNode[] arr;
代码。如果是这样的话
class TrieNode {
int[] arr;
boolean isEnd;
// Initialize your data structure here.
public TrieNode() {
this.arr = new int[26];
}
我知道这会为26个整数分配内存。如果你能解释一下第一个代码的内存分配是如何工作的,那就更好了。(从编译器的角度来看)
编辑:对不起,如果我的问题是unclear.What,我问的是我们创建的数组有26个元素
new TrieNode[26];
分配了多少内存?
发布于 2018-10-03 04:09:01
在您不调用new
之前,不会进行内存分配。
因此TrieNode[] arr;
可以作为将来的参考。只有当您调用构造函数时,Java才会分配内存并在arr
中设置引用。
链接:
https://stackoverflow.com/questions/52615584
复制相似问题