java - 修改HashMap中LinkedList的值

标签 java linked-list hashmap

我需要向 HashMap 内的 LinkedList 添加一个新对象

我尝试将 LinkedList 保存在临时变量中,将视频添加到其中,然后使用 put 方法将列表添加到 map 中,但我遇到了同样的问题。

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);
 }
}

关于java - 修改HashMap中LinkedList的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56923431/

相关文章:

java - 代码未将值写入文件中

java - 尝试使用 R 写入 xlsx.-文件时出现错误消息

c - 我的 LinkedList 结构在 C 中无法运行

android - android 中的 Spinner 和 hashmap

java - 为什么我的自定义封闭哈希集中会发生如此多的冲突?

java - 如何在 Android 中使用横线/水平线对齐 EditText 中的文本?

c++ - 如何在常量空间中对单向链表进行排序?

c - 为什么这个函数不能成功插入一个节点到一个链表中?

Java:将类成员变量/值转换为 Map - 反射

java - 动态生成Testng.xlm来运行测试