java 对数组进行排序 并将原数组的下标和排序后数组的值做成一个map
时间: 2024-12-01 07:30:30 浏览: 13
8个简单的汇编程序,数组排序、计算最大数,字符串比较,打印图形
在 Java 中,你可以使用 `Arrays.sort()` 方法对数组进行排序,然后创建一个 `Map` 来保存排序后的值及其对应的原数组下标。这里是一个简单的示例:
```java
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
// 定义一个整型数组
int[] array = {5, 2, 8, 1, 9};
// 使用 Arrays.sort() 进行排序
Arrays.sort(array);
// 创建一个 HashMap 来存储排序后值及其索引
Map<Integer, Integer> map = new HashMap<>();
for (int i = 0; i < array.length; i++) {
map.put(array[i], i);
}
// 打印排序后的数组和对应索引的 Map
System.out.println("Sorted Array: " + Arrays.toString(array));
System.out.println("Map: " + map);
}
}
```
在这个例子中,`Arrays.sort(array)` 将 `array` 数组从小到大排序。接着,遍历排序后的数组,将每个元素及其在排序后的下标(即原数组的下标,因为它们是按顺序排列的)作为键值对存入 `map`。
运行这个程序后,你会得到类似这样的输出:
```
Sorted Array: [1, 2, 5, 8, 9]
Map: {1->0, 2->1, 5->2, 8->3, 9->4}
```
阅读全文