如何获取元素的最后一个索引。 (元素重复几次)JAVA

时间:2014-10-23 06:46:17

标签: java arrays class indexing driver

我在我的驱动程序a.indexFinder(4)以及a.indexFinder(2)中使用此功能 如果元素不在数组中,那么我们将返回-1

当索引为5(我得到-1)时,此代码有效,因为5不在数组中。 但是对于4,它给了我第一个4.i想要最后4个的索引。

int[] array = {2, 8, 8, 3, 4, 4, 4, 7}; //im suppose to find the index of the last 4.
int index = 4; //4 or 5(return -1 when element is not found)
public int findLast(int index) //this method is in my class
{         
    for(int index = 0; index < a.length; index++)
    {
    if (a[index]== key)
    return index;
    }
     return -1;
}

2 个答案:

答案 0 :(得分:3)

从最后一个索引(a.length - 1)遍历到0

第一次遇到密钥时返回索引。

答案 1 :(得分:1)

一种可能的方法是从数组的末尾开始并向后工作,返回遇到的第一个元素的索引....

int[] array = new int[]{2, 8, 8, 3, 4, 4, 4, 7}; //im suppose to find the index of the last 4.
int find = 4; //4 or 5(return -1 when element is not found)

int lastIndex = -1;
for (int index = array.length - 1; index >= 0; index--) {
    if (array[index] == find) {
        lastIndex = index;
        break;
    }
}

System.out.println(lastIndex);