Java 使用迭代将arraylist排序到映射中

Java 使用迭代将arraylist排序到映射中,java,arraylist,syntax,map,Java,Arraylist,Syntax,Map,我正在制作一个小程序,其中一部分在arraylist上迭代,根据数组列表中每个竞争对手的能力将不同的竞争对手排序到一张地图中。除了一个问题之外,它似乎还起作用。第一个if语句不起作用。任何被归类为beginer的竞争对手都不会被归类为beginerResults,而是standardResults。然而,其他人工作得很好。有什么建议吗 public void sort() { for (Golfer rating : competitors) { if (com

我正在制作一个小程序,其中一部分在arraylist上迭代,根据数组列表中每个竞争对手的能力将不同的竞争对手排序到一张地图中。除了一个问题之外,它似乎还起作用。第一个if语句不起作用。任何被归类为beginer的竞争对手都不会被归类为beginerResults,而是standardResults。然而,其他人工作得很好。有什么建议吗

public void sort()
  {
    for (Golfer rating : competitors)
    {

      if (competitors.getScore()== "beginer")
      {
        beginerResults.put(competitor.getName());  
      }
      if (competitors.getScore()== "Intermediate")
      {
        intermediateResults.put(competitor.getName());  
      }
      else
      {
        expertResults.put(age.getName());
      }
    }
  }

字符串
比较更改为

competitors.getScore().equals(“beginer”)

或者更好

“beginer”.equals(competitors.getScore())

字符串
=
进行比较通常不是正确的方法

另外,
beginer
拼写错误,请检查调用代码是否拼写错误

也如果拼写正确,那么这可能是您的主要问题

您对字符串的比较是错误的,请参阅邹祖提供的链接。另外,在您的示例中没有映射,
映射。put
需要一个
和一个
,也许您的意思是
设置
?您在当前迭代中从不使用变量(
评级
),只使用您正在迭代的集合(
竞争对手
)。