62,615
社区成员
发帖
与我相关
我的任务
分享
List<Integer> originaList = Arrays.asList(1, 4, 3, 5, 2);
Set<Integer> set = new HashSet<>();
set.addAll(originaList);
List<Integer> sortlist1 = new ArrayList<>(set);
Collections.sort(sortlist1);//1,2,3,4,5
List<Integer> sortlist2 = new ArrayList<>(sortlist1);
Collections.reverse(sortlist2);//5,4,3,2,1
Map<Integer, Integer> m = new HashMap<>();
for (int i = 0; i < sortlist1.size(); i++) {
m.put(sortlist1.get(i), sortlist2.get(i));
}
for (int i : originaList) {
System.out.print(m.get(i) + " ");
}
可能有更好的方法.......