为了账号安全,请及时绑定邮箱和手机立即绑定

接口中的方法不能应用于给定的类型;带哈希图

接口中的方法不能应用于给定的类型;带哈希图

慕少森 2022-10-12 10:06:45
我正在完成我大学教科书中的一些修订活动,并且一直停留在这个问题上。我们正在处理地图和列表,所提出的问题需要我检查团队地图中是否已经存在该部门的列表,然后将新团队添加到已经存在的部门中。如果没有,则创建一个新的空列表并将新团队添加到其中,将部门分配为键,将新列表分配为值。重新阅读材料几次后,我开始了解我需要做什么,但是当我编译它时,它给了我一个方法 put interface.java.util.Map 错误。哪个解释提供您在此处使用的运算符不能用于您使用它的值的类型。您要么在这里使用了错误的运算符,要么使用了错误的运算符。我重新阅读了材料,在线研究,甚至购买了 udemy 课程来了解地图及其工作原理。查看过去的试卷有所帮助,据我了解,问题在于第 33 行的 .put 操作,但我所阅读的所有内容都是在使用地图时,.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);      }   }     }
查看完整描述

2 回答

?
眼眸繁星

TA贡献1873条经验 获得超9个赞

你有


private SortedMap<String, Set<String>> teams;

但然后尝试将 aSet<Team>放入其中


HashSet<Team> teamSet = new HashSet<>(); // instantiates a list of objects called Team and assigns them to local variable teamSet

...

this.teams.put(division, teamSet);

将您的更新teams为 aMap<String, Set<Team>>或将其更改teamSet为Set<String>.


查看完整回答
反对 回复 2022-10-12
?
大话西游666

TA贡献1817条经验 获得超14个赞

您的地图有签名private SortedMap<String, Set<String>> teams;

您正在尝试插入一组Team对象。您需要将teams地图更改为Set<Team>.


查看完整回答
反对 回复 2022-10-12
  • 2 回答
  • 0 关注
  • 97 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信