于是我就了解了Arrays.sort(arrayName);
和我的一个工程中应用,但我发现它排序从最低到最高。反正有反其道而行吗? (我不认为我需要发布有问题的代码,但如果需要,我会发布它)。排序int数组从最高到最低
1
A
回答
10
如果您使用Integer[]
而不是int[]
,则可以将Comparator
作为第二个参数传递给排序方法。要实行反向排序,你可以利用Collections.reverseOrder()
方法:
Arrays.sort(arr, Collections.reverseOrder());
+0
很棒!谢谢您的帮助! – lukeb28
0
- 使用
Integer[]
代替int[]
- 的使用
Collections.reverseOrder()
:返回规定了集合的自然顺序相反的比较的实现Comparable接口 如果可能的用途
ArrayList<Integer>
和Collections.sort(list, Collections.reverseOrder())
更有力的情况下的对象。Integer[] intArr = new Integer[10]; // add some integer Arrays.sort(intArr, Collections.reverseOrder())
3
如果有int[]
阵列,则可以使用Arrays.sort
再反向它进行排序:
int [] tab2 = new int[]{1,5,0,-2};
Arrays.sort(tab2);
ArrayUtils.reverse(tab2);
System.out.print(Arrays.toString(tab2));
输出:
[5, 1, 0, -2]
反向方法的Code
(来自org.apache.commons.lang.ArrayUtils.reverse(int[])
):
public static void reverse(int[] array) {
if (array == null) {
return;
}
int i = 0;
int j = array.length - 1;
int tmp;
while (j > i) {
tmp = array[j];
array[j] = array[i];
array[i] = tmp;
j--;
i++;
}
}
1
对于一些使用情况,您可能只是将您的排序数组视为“反向排序”。例如。从最高到最低的数字迭代,你可以使用
int[] foo = ...;
Arrays.sort(foo);
for (int i=foo.length-1; i>=0; i--) {
doSomethingWith(foo[i]);
}
+0
似乎比底层更多的代码。 – lukeb28
相关问题
- 1. PHP排序JSON从最高到最低
- 2. 如何排序拆分数组以从最高读到最低?
- 3. 组织数量从最高到最低
- 4. 从最低排列到最高排列而不排序
- 5. Python,排序.txt文件的分数从最高到最低
- 6. 排序从最高到最低的数字列表
- 7. MySql:高级排序第一行到最高然后从最低到最高?
- 8. 程序从最低到最高排序用户输入数组。 C编程
- 9. 创建一个从最低到最高排序数组的方法
- 10. 排序数组,从高到低
- 11. 数组排序问题(从低到高)
- 12. 在数组中排序从高到低
- 13. 将数组从高到低排序
- 14. 从最低到最高排序tableview单元格
- 15. 排序从最高到最低的列表
- 16. 排序列表<Tuple>从最高到最低
- 17. 从最低到最高排序用户输入
- 18. 排序从最高到最低,为前三名,在每个州
- 19. 在文件中排序从最高到最低
- 20. 排序从最高到最低没有内置
- 21. 最高到最低
- 22. 当从最高排名到最低排名时处理关系
- 23. 从最小到最大排序数组
- 24. 交换数组数从最低到最高
- 25. PHP数组 - 由阵列外部计算值排序(最高到最低)
- 26. 排序多维数组,从最低到最高,只有第一个元素保持未排序
- 27. 你如何输入一个整数,并从最高到最低排序
- 28. 量表数组为最低/最高
- 29. sql order by从最高到最低值
- 30. 根据最高到最低排序Linux文件中的字段
你会注意到还有另一个'sort'方法接受'比较器'。 –
@SotiriosDelimanolis:不要对int []进行排序。 –
阅读本http://docs.oracle.com/javase/6/docs/api/java/util/Arrays.html#sort(T [],java.util.Comprator接口) – Prateek