如何在 Java 中获得排序数组的索引?
例如:
int[] myIntArray = new int[]{20,100,69,4};
和Arrays.sort(myIntArray)
结果是:
{4,20,69,100}
如果需要原始数组的 index
怎么办?
这意味着:
{3,0,2,1}
最佳答案
如果我正确理解你的问题。
考虑到您的数组中没有重复项。对数组进行排序后。
选项 1:
编写一个小的辅助方法。
将每个值传递给下面的方法并获取它的索引。
public int findIndex(int[] iarray, int value) {
for(int i=0; i<iarray.length; i++)
if(iarray[i] == value)
return i;
}
选项 2:
使用org.apache.commons.lang Class ArrayUtils
public static int indexOf(int[] array,
int valueToFind)
然后,
如果您想将这些索引存储在一个数组中,请获取一个具有初始数组长度的数组,并用返回的索引填充该数组。
关于java - Java中有序数组的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22163496/