Java 接口中放入的方法不能应用于给定类型;使用hashmap

Java 接口中放入的方法不能应用于给定类型;使用hashmap,java,hashmap,Java,Hashmap,我正在浏览我大学课本中的一些修订活动,我被这个问题困住了。我们正在制作地图和列表,所问的问题需要我检查团队地图中是否已经存在该部门的列表,并将新团队添加到已经存在的部门中 如果没有,则需要创建一个新的空列表并将新团队添加到其中,将部门指定为键,将新列表指定为值 在多次重读该材料之后,我开始理解我需要做什么,但当我开始编译时,它给了我一个方法put interface.java.util.Map错误 这一解释提供了什么 此处使用的运算符不能用于正在使用它的值的类型。您在这里使用的不是错误的,就是错

我正在浏览我大学课本中的一些修订活动,我被这个问题困住了。我们正在制作地图和列表,所问的问题需要我检查团队地图中是否已经存在该部门的列表,并将新团队添加到已经存在的部门中

如果没有,则需要创建一个新的空列表并将新团队添加到其中,将部门指定为键,将新列表指定为值

在多次重读该材料之后,我开始理解我需要做什么,但当我开始编译时,它给了我一个方法put interface.java.util.Map错误

这一解释提供了什么

此处使用的运算符不能用于正在使用它的值的类型。您在这里使用的不是错误的,就是错误的运算符

我重新阅读了这些资料,在网上进行了研究,甚至买了一本我的课程,以了解地图及其工作原理

查看过去的试卷很有帮助,据我所知,问题在于。在第33行执行操作,但我读到的所有内容都是在使用地图时执行的。put是如何将信息添加到地图中

所以我不知道为什么会出现这个错误。在绝望中,他看了看和我一样的过去的考试答案,并测试了他们编译的代码,没有错误

我非常想理解为什么,而不是看材料的后面,只是看答案,因为这是为了修改

我们必须修改的LeagueAdmin()类的代码如下

import java.util.*;

public class LeagueAdmin
{
   private SortedMap<String, Set<String>> teams;
   /**
    * Constructor for objects of class LeagueAdmin
    */
   public LeagueAdmin()
   {
      // Create the HashMap
      //Map<String, Team> teams = new HashMap<>();
      super();
      this.teams = new TreeMap<>();

   }

   public void addTeam(String division, Team team)
   {
      boolean changed;

      if (!this.teams.containsKey(division)) // checks if the key division doesn't contain the value of divsioin  
      {
         HashSet<Team> teamSet = new HashSet<>(); // instantiates a list of objects called Team and assigns them to local variable teamSet
         teamSet.add(team); // adds a new team to the list

         this.teams.put(division, teamSet);
         changed = true;
      }
      else
      {
         Set<Team> teamSet = this.teams.get(division); // if list exists already adds new team to existing list
         changed = teamSet.add(team);
      }

   }     
}
它应该接受新的部门和团队,检查是否已经有一个列表,并相应地更新,但我无法通过这个错误

因此,在我出错的地方,任何帮助都会得到很大的帮助。因为我想了解问题是如何发生的,而不是仅仅看一个答案而不理解。

你有

private SortedMap<String, Set<String>> teams;
私人分类地图团队;
然后试着在里面放一个
集合

HashSet<Team> teamSet = new HashSet<>(); // instantiates a list of objects called Team and assigns them to local variable teamSet
...
this.teams.put(division, teamSet);
HashSet teamSet=newhashset();//实例化名为Team的对象列表,并将其分配给局部变量teamSet
...
this.teams.put(部门、团队集);
将您的
团队
更新为
地图
或将
团队集
更改为

private SortedMap<String, Set<String>> teams;
私人分类地图团队;
然后试着在里面放一个
集合

HashSet<Team> teamSet = new HashSet<>(); // instantiates a list of objects called Team and assigns them to local variable teamSet
...
this.teams.put(division, teamSet);
HashSet teamSet=newhashset();//实例化名为Team的对象列表,并将其分配给局部变量teamSet
...
this.teams.put(部门、团队集);

将您的
团队
更新为
地图
或将
团队集
更改为
您的地图具有签名
私人分拣地图团队


您正在尝试插入一组
Team
对象。您需要将您的
团队
地图更改为
设置

您的地图具有签名
私人分拣地图团队


您正在尝试插入一组
Team
对象。你需要将你的
团队
映射到
集合

谢谢你的帮助,多么简单的错误,我感觉多么糟糕谢谢你的帮助,多么简单的错误,我感觉多么糟糕