显示符合某个标准的数组中的特定项

时间:2016-11-08 03:03:17

标签: java arrays

我遇到了从数组中提取特定项目并显示它们的问题,如果它们是符合特定条件的项目。

在某些上下文中,我有一个名为Person的数组,它使用excel文件填充。数组中的每个项都有多个属性,例如firstName,lastName和favoriteColor。我需要能够在控制台上打印出所有拥有最喜欢的绿色的人。

到目前为止,我已经拥有了它,它将显示每个人,但我正在努力将其剪切下来,只是向人们展示绿色作为他们最喜欢的颜色。我认为导致问题的区域看起来像这样。

for (final Person person : people) {
  //System.out.println(person);
  for (favoriteColor == "Green");
  System.out.println(person);
}

我理解我的favoriteColor ==“Green”行有问题。我不习惯Java,所以这让我很困惑。你们中有谁对此有任何见解吗?

由于

2 个答案:

答案 0 :(得分:1)

你需要在for循环中运行if条件来过滤掉你的数据。你应该做点什么:

 for (Person person : people) {
        if(person.getFavoriteColor().equalsIgnoreCase("Green")){
                  System.out.println(person.getFirstName());
            }
        }

如果条件允许,您可以添加多个。

答案 1 :(得分:-1)

我不确定这是你想要的。

当存在如下数据结构时

 String [][] personArray = {
            {"Sam", "Horden", "Green"},
            {"Sam2", "Horden2", "Red"},
            {"Sam3", "Horden3", "Brown"},
            {"Sam4", "Horden4", "Blue"},
            {"Sam5", "Horden5", "Green"},
            {"Sam6", "Horden6", "Green"},
 };

你可以像下面这样使用for循环

for(String [] person : personArray){
        for(String color : person) {
            if(color == "Green")
                System.out.println(person[0]);
        }
} //out put will be sam, sam5, sam6