当前位置: 首页 > 知识库问答 >
问题:

在hashmap中存储Arraylist

冷涵忍
2023-03-14

我正在尝试使用put方法将arraylist存储在hashmap中。我在下一步中清除了列表,以便在下一次迭代中添加下一组值。一旦清除列表,地图中的值也会被清除。虽然我在清理清单之前已经把清单放在地图上了。

HashMap map=new HashMap();
ArrayList list=new ArrayList();
list.add("value1");
list.add("value2");
map.put(key,list);
list.clear();
system.out.println("map");

sysout打印{key=[]}

有人请让我清楚如何坚持hashmaphash地图。

共有2个答案

奚高扬
2023-03-14

将整个列表作为一个元素放入哈希中,清除列表时,哈希中唯一的值是空列表。

薛滨海
2023-03-14

您在映射中放置了对数组列表的引用,因此当您清除该列表时,映射中的列表也会被清除(因为它是同一个列表)。

如果你想初始化另一个列表,你应该创建一个新的ArrayList,而不是清除你添加到地图上的列表。

HashMap map=new HashMap();
ArrayList list=new ArrayList(); // create first list
list.add("value1");
list.add("value2");
map.put(key1,list); // put first list in map
list=new ArrayList(); // create second list
list.add("value3");
map.put(key2,list); // put second list in map
...
 类似资料:
  • 问题内容: 我是Java新手。我如何在HashMap中存储整数值数组,之后我将此HashMap写到txt文件中,但此刻目前不重要。我可以存储单个字段,但不能存储数组。有任何想法吗 ? 问题答案: 例如选一个 要不就

  • 问题内容: 如何在SQL数据库中存储HashMap?另外,您如何将HashMap从SQL数据库加载回HashMap实例? 好的,这就是我正在做的。我有一个数据库来存储我的游戏的玩家数据。它有一个包含用户名和密码的表。每个玩家都有一个存储其属性的HashMap。我需要将该HashMap及其各自的用户存储在数据库中。 问题答案: 您需要一个三列表 用户, 键, 值 然后看起来像 “用户1”,“属性1”

  • 问题内容: 在的实现细节中,我可以阅读: 如果我有恒常的能力,而我的班级没有实现,它将如何打破束缚以及如何构造树呢? 我的意思是- 铲斗会变成一棵树,并会打断领带。然后,我将尝试使用其他实例(具有和)相同的实例来调用方法,它将具有不同的实例,因此是否有可能树被错误的节点遍历(向左而不是向右)并且找不到键? 我是否缺少某些东西,或者这是正常现象? 问题答案: 存储桶将在插入期间使用,但查找仅使用哈希

  • 有点初学者的问题但是... 我有一个从数据库返回的ResultSet对象-3列30行。 我检索以下数据集: null 我知道这应该不难,我只是在努力寻找迭代HashMaps的ArrayList的最佳方法

  • 问题内容: 我的哈希图将字符串存储为键,将arraylist存储为值。现在,我需要将其嵌入到列表中。也就是说,它将具有以下形式: 这些是我使用的声明: 谁能帮我在列表中使用哪种方法以及如何继续将地图存储到其中? 问题答案: 始终尝试在Collection中使用接口引用 ,这会增加灵活性。 以下代码有什么问题? 您可以像上面一样轻松地进行操作。

  • 我想将< code>socket.getSocket()和< code > socket status . getsocketstatus()存储在< code>HashMap中。但是< code>hMap.put(socket.getSocket()、socket status . getsocketstatus());引发< code > NullPointerException 。我该如何解