gpt4 book ai didi

java - List 值的 TreeMap 构造函数

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

我有一个Class1具有私有(private)属性TreeMap<Long, List<Class2>> tree;和其他人,我想写一个构造函数 Class1(Class1 copyOfClass1) 。我应该创建 List TreeMap 的值明确地(例如,在循环中),或使用 this.tree=new TreeMap(copyOfClass1.tree)是吗?

最佳答案

如果您使用 this.tree=new TreeMap(copyOfClass1.tree) 它将等效于

this.tree=new TreeMap();
this.tree.putAll(copyOfClass1.tree)

但是,它不会复制存储在 map 中的列表。这些键将指向相同的列表。

如果您不希望出现这种行为,我建议您迭代条目并复制列表。

    this.tree = new TreeMap<Long, List<Class2>>();
for (Entry<Long, List<Class2>> entry : copyOfClass1.tree.entrySet()) {
this.tree.put(entry.getKey(), new ArrayList<Class2>(entry.getValue()));
}

关于java - List 值的 TreeMap 构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16064003/

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