从Java数组中获取第二个元素

时间:2015-04-09 16:00:12

标签: java arrays

我目前有一个程序在数组上工作,使用for循环遍历数组,其中嵌入的if语句将数组中的元素与我正在查找的元素匹配。我需要修改它,以便它会找到同一元素的第二次出现。关于如何做到这一点的想法?

  String[] myStringArray = {"a", "b", "c", "a", "d", "e", "f"};

  for(int i=0; i<myStringArray.length; i++) {
       if(myStringArray[i].equalsIgnoreCase("a") {
            //do something
       }
  }

如上所述,这将找到第一个a,我将对此进行处理,但第二个a也需要采取行动。

3 个答案:

答案 0 :(得分:4)

使用计数器。

String[] myStringArray = {"a","b","c","a","d","e","f"};

int occurrences = 0;

for(int i=0; i<myStringArray.length;i++{
     if(myStringArray[i].equalsIgnoreCase("a"){
          occurrences++;
          if(occurrences == 2) {
              // Do something
          }
     }
}

答案 1 :(得分:1)

计算搜索到的元素的出现次数,并在发现两次出现时中断循环:

String[] myStringArray = {"a","b","c","a","d","e","f"};
int count=0;
for(int i=0; i<myStringArray.length;i++){
    if(myStringArray[i].equalsIgnoreCase("a")){
        count++;
    }
    if(count==2){
        System.out.println("the index of the second occurence is:"+ i); 
        break;
    }
}

看看this DEMO

答案 2 :(得分:0)

例如,你可以创建一个由0初始化的int计数器,并在找到第一个元素时递增它,所以当你得到第二个元素时,你检查标志,如果标志设置为1,你就可以做一些事情。 / p>