gpt4 book ai didi

java - 指向数组的 Java 堆栈会使用相同数量的内存吗?

转载 作者:行者123 更新时间:2023-12-01 20:07:09 24 4
gpt4 key购买 nike

我有一个二叉树 Node s 并想要遍历它。我看到的最常见的方法是 Stack ,或 LinkedList 。我还看到了其他不添加每个 Node 的方法到堆栈/列表,并且似乎几乎不占用内存(他们使用递归来探索每个元素)。

如果我做一个List<Node>为了跟踪树中的每个节点,我会占用 2*n内存量?或者,因为对象已经存在于树中,List是否只是一堆指向Node对象(存在于树中)的指针,因此不会占用两倍的内存?

测试用例:

Object objs[] = new Object[40];
/*
Initialize the 40 objects here
*/
List<Object> objTracker = new List<>();
for(int i=0; i<objs.length; i++) {
objTracker.add(objs[i]);
}

现在是否占用 2 倍的内存,或者执行所有 objTrackers只需重定向/指向存储在 objs 中的对象?

最佳答案

只有在使用 new 时才创建新对象关键字(一般而言)。因为没有newobjTracker.add(objs[i]); ,没有创建新对象。

关于java - 指向数组的 Java 堆栈会使用相同数量的内存吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47257399/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com