gpt4 book ai didi

使用列表时的 Java 变量引用

转载 作者:行者123 更新时间:2023-11-29 07:16:20 26 4
gpt4 key购买 nike

这里只是一个思考问题。在 C++ 中,我可以执行以下操作:

vector<vector<string> > data;
// add data into data
//..

data[0].push_back( "somedata" );

我希望 somedata 被写入 vector 数组,因为 [] 符号让我可以通过引用访问对象。在 Java 中呢?如果我:

List<List<String>> data = new ArrayList<List<String>>();
// add data into data
//..
data.get(0).add( "somedata" );

这实际上会将 somedata 写入数据对象吗?或者它会在 data(0) 处创建元素的新副本,向其添加 somedata,然后该对象会在某个时候消失在 GC 中吗?

最佳答案

ArrayList 是一个由数组备份的列表(为了实现随机访问),列表存储对真实元素的引用,因此当您如前所述添加新元素时,对它的引用将添加到 ArrayList(和后备数组将指向此列表元素)。

关于使用列表时的 Java 变量引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9357182/

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