java - 搜索并更改数组列表中的对象

标签 java

我有一个包含对象的ArrayList。我一直想要/需要做的是在 ArrayList 中搜索特定对象并更改它的值之一(如果找到)。 IE。我有一支足球运动员球队,例如费城老鹰队,其中包含球队名称、总得分、总擒杀数,然后按名字、姓氏、参加的比赛和位置列出所有球员。我正在寻找一位特定的球员,比如查德·霍尔,我想将他从老鹰队移除,并将他交易到新英格兰爱国者队。到目前为止我所拥有的是 ArrayList 的迭代,但我的代码没有找到播放器然后退出。

case 6:
           String name = "";
           System.out.print("Who would you like to trade? ");
           name = kb.nextLine();
           tradePlayer(nflTeams, name);

public static void tradePlayer(ArrayList<Team> nflTeams, String name)
  {
     Scanner kb = new Scanner(System.in);
     String teamName = "";
     System.out.print("What team do you want to trade this player to?(Team Acronym) "    );
     teamName = kb.nextLine();

     for(Team t: nflTeams){
        if (nflTeams.contains(name.toLowerCase()))
                      t.setName(teamName);
                }
     System.out.println("Cannot find " + name);
  }

Player 类涉及按名字、姓氏、球队、位置、出场次数构建的球员。我想改变的是团队。在 Team 类中,我有 setName(String) 来设置团队名称。

非常感谢任何建议或想法。

最佳答案

if (nflTeams.contains(name.toLowerCase()))

你想做什么?您的 list nflTeams包含Team对象而不是名称。
这是行不通的。
如果您需要访问Team通过其 name然后使用Map<String,Team>相反

关于java - 搜索并更改数组列表中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13712824/

相关文章:

java - 仅当变量达到特定值时使按钮可见不起作用

java - 如何改变Android状态栏图标的颜色?

java - 将 CharArray 传递给方法

java - 使用 Java.swing 编写具有可调整大小组件的 GUI

java - xstream > 在模型中进行抽象时的向后兼容性

java - 尽管设置了 SuppressWarnings,gradle 仍会打印警告

java - JPA 持久保存与现有实体有关系的新实体

java - 随机选择2个定义的数字

java - 升级 Spring,现在 Freemarker 抛出 NoSutchMethod 错误

java - JAXB 将分组元素添加到列表中,类似于 .NET