java - 修改HashMap中LinkedList的值
问题描述
我需要在我的 HashMap 内的 LinkedList 中添加一个新对象
我尝试将 LinkedList 保存在一个临时变量中,将视频添加到其中,然后使用 put 方法将列表添加到地图中,但我遇到了同样的问题。
public void addVideo(String nameChannell, Video video)
{
mappa.get(nameChannell).add(video);
}
public void printVideo()
{
Iterator<String> itera=mappa.keySet().iterator();
while(itera.hasNext())
{
String canale=itera.next();
LinkedList<Video> lVideo=mappa.get(canale);
System.out.println("\tCanale: "+canale);
for(int i=0;i<lVideo.size();i++)
System.out.println(lVideo.get(i).getNome());
}
}
将视频添加到我的 hashmap 的主要功能是addVideo
,但是当我这样做时,视频会添加到我的所有键中,而不仅仅是nameChannel
键。我认为问题也可能是printVideo
功能,但无法处理。
解决方案
您的addVideo
方法应该如下所示,因为您可能使用与List
提到的值相同的值@JB Nizet
public void addVideo(String nameChannell, Video video) {
if(mappa.containsKey(nameChannell))
{
mappa.get(nameChannell).add(video);
}
else {
List<Video> videos = new BakedArrayList();
video.add(video);
mappa.put(nameChannell, videos);
}
}
推荐阅读
- javascript - 将特殊的 HTML 字符插入 XML
- laravel - 有没有办法知道命令是手动触发还是从调度程序触发的?
- node.js - 如何修复此节点控制器功能并从 2 个不同模型发送数据?
- unity3d - 有没有办法读取围绕局部轴的旋转?
- python-3.x - Why my console application is buffering log and socket messages?
- php - 如何根据 IIS windows 身份验证过滤 ldap 活动目录用户信息并在 php 网站中显示该信息?
- android - 如何修复错误:无法确定 com.github.apl-devs:appintro:v4.2.3 的工件:由于早期错误而跳过
- javascript - 使用 Lodash 将对象键转换为具有键值的数组
- vb6 - Windows 更新后 Webbrowser 控件不再工作
- android - 如何访问 src 包中的阴影文件级属性