返回数组中匹配元素的所有索引

时间:2015-03-31 03:25:37

标签: java arrays

我有一个数组: ["Front", "Front", "Back", "Back", "Side", Side]

我需要做的是返回特定字符串的所有匹配事件的索引。例如,如果输入:"Front",则应返回[0,1],输入"Side",返回[4,5]"Back"将返回[2,3]

如何有效地在Java中实现这一目标?

2 个答案:

答案 0 :(得分:1)

试试这个

    String inPut="Side";

    String data [] = {"Front", "Front", "Back", "Back", "Side", "Side"};

    ArrayList positions=new ArrayList();

    for(int i=0;i<data.length;i++)
    {
        if(inPut.equals(data[i]))
        {
            positions.add(i);
        }
    }

    System.out.println(positions);
} 

输出

[4, 5]

尝试更改输入

答案 1 :(得分:-2)

试试这个,如果你想到任何改进,请留下反馈。 让我们说数组被声明为

string sArr [] = ["Front", "Front", "Back", "Back", "Side", "Side"];

在某处设置输入等input == "Front"

ArrayList list <int> = new ArrayList<int>();
for(int i = 0; i < sArr.length; i++ ){
    if(sArr[i].equals( input) ){
        list.add(i);
    }
}

整数的最终arraylist提供索引。