java - Java中有序数组的索引

标签 java arrays

如何在 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/

相关文章:

java - Hibernate @orderby 似乎不起作用

java - 摩尔斯电码翻译器: compilation error

javascript - 循环遍历数组并将值分配给变量

C# 如何按空格将字符串拆分为几个数组

php - PDO 执行数组到字符串转换错误

php - 使用可能的字典从 PHP 数组创建一个 JSON 字符串

java - 如何通过xpath获取标题?

java - 如何在 Excel 中将 Unix 纪元时间戳转换为人类可读的日期/时间?

java - OneToMany 无法确定 SpringBoot/SQLite3 的类型

c - 使用 txt 文件输入过滤 C 中的数据列