的实现方式如下:
import java.util.Arrays;
import java.util.Comparator;
public class ArraySortExample {
public static void main(String[] args) {
int[] arr = {5, 2, 8, 1, 9};
// 创建一个数组用于保存元素编号
Integer[] indexes = new Integer[arr.length];
for (int i = 0; i < arr.length; i++) {
indexes[i] = i;
}
// 使用Comparator对数组进行降序排序
Arrays.sort(indexes, new Comparator<Integer>() {
public int compare(Integer i1, Integer i2) {
return arr[i2] - arr[i1];
}
});
// 打印排序后的元素编号和对应的元素值
for (int i = 0; i < indexes.length; i++) {
int index = indexes[i];
System.out.println("Index: " + index + ", Value: " + arr[index]);
}
}
}
以上代码中,我们使用了Arrays.sort()
方法来对元素编号数组进行排序。为了实现降序排序,我们传入了一个自定义的Comparator对象,该Comparator对象根据原始数组的元素值进行比较。最后,我们遍历排序后的元素编号数组,打印每个元素编号以及对应的原始数组的元素值。
对于这个问题,腾讯云没有特定的产品和链接可以提供。但腾讯云提供了丰富的云计算服务,可以支持Java开发、云原生、人工智能等多个领域的应用。详细的产品和服务信息可以参考腾讯云官方网站。
领取专属 10元无门槛券
手把手带您无忧上云