java 如何实现数组排序并输出每个数字原来的索引
展开全部
java变成对数组进行排序可以使用ArraySort方法,保存源数组下标值可以存入map中,如下代码:
import java.util.ArrayList;import java.util.Arrays;import java.util.HashMap;import java.util.List; public class ceshi { public static void main(String[] args) { int n = 5; int[] a = { 8, 5, 4, 6, 2, 1, 7, 9, 3 }; HashMap map = new HashMap(); for (int i = 0; i < a.length; i++) { map.put(a[i], i); // 将值和下标存入Map } // 排列 List list = new ArrayList(); Arrays.sort(a); // 升序排列 for (int i = 0; i < a.length; i++) { list.add(a[i]); } for (Object object : list) { System.out.print(object + ","); } System.out.println(); // 查找原始下标 for (int i = 0; i < n; i++) { System.out.print(map.get(a[i]) + ","); } } }
运行结果如下:
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询