gpt4 book ai didi

java - 如何按值将映射添加到数组列表

转载 作者:行者123 更新时间:2023-12-02 05:04:06 24 4
gpt4 key购买 nike

我正在尝试将 Document 类的对象添加到循环中的数组列表中。问题是每次对象发生变化时,列表之前的内容也会发生变化

这是我的文档类:

public class Document {
public Map<String, Double> tokens;
public String category;
}

我有列表数据集:

List<Document> dataset = new ArrayList<Document>();

我将文档的所有标记从文件读取到名为 counts 的映射。然后执行如下操作

doc = new Document();
doc.tokens = counts;
doc.category=sampleCategory;
dataset.add(doc);

counts.clear();

但是每次我阅读新文档时,数据集的内容都会更改为新文档的值。那么如何按值添加文档,而不是按引用添加文档?

最佳答案

看起来您正在向所有 Document 实例添加相同的“counts”对象。将计数分配给相应类型的新实例,而不是 counts.clear():

counts = new HashMap<String, Double>

关于java - 如何按值将映射添加到数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27952483/

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