gpt4 book ai didi

java - 为什么我得到了错误的列表?

转载 作者:行者123 更新时间:2023-12-02 11:16:46 25 4
gpt4 key购买 nike

我得到了一些奇怪的结果,但无法解释它们。你有什么想法吗?为什么我会这么做

> {Level=1 - Normal, Name=IT/Java} 
> {Level=2 - Medium, Name=IT/Ruby}
> [{Level=2 - Medium, Name=IT/Ruby}, {Level=2 - Medium, Name=IT/Ruby}]

来自系统?当它实际上应该是

> {Level=1 - Normal, Name=IT/Java} 
> {Level=2 - Medium, Name=IT/Ruby}
> [{Level=1 - Normal, Name=IT/Java}, {Level=2 - Medium, Name=IT/Ruby}]

这是我的代码。

public List<Map<String, Object>> getMapsforTables() {
levelList = this.getSkilllevel();
description = this.getSkillnames();
Map<String, Object> rm = new HashMap<String, Object>();
List<Map<String, Object>> l = new LinkedList<Map<String, Object>>();

for(int i=0; i < levelList.size(); i++){
rm.clear();
rm.put("Name", description.get(i));
rm.put("Level", levelList.get(i));
System.out.println(rm);
l.add(rm);
}
System.out.println(l);
return l;
}

最佳答案

因为在每次迭代中,您都会修改相同的对象并将其添加到列表中。你可以这样做:

for(int i = 0; i < levelList.size(); i++){
Map<String, Object> rm = new HashMap<String, Object>();
rm.put("Name", description.get(i));
rm.put("Level", levelList.get(i));
System.out.println(rm);
l.add(rm);
}

关于java - 为什么我得到了错误的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27904484/

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