有的时候需要对数组里的element进行排序。当然可以自己编写合适的排序方法,但既然java包里有自带的Arrays.sort排序方法,在数组元素比较少的时候为何不用?
原文: 点击打开链接
Sorting an Array 1. 数字排序 int[] intArray = new int[] { 4, 1, 3, -23 };
Arrays.sort(intArray);
输出: [-23, 1, 3, 4]
2. 字符串排序,先大写后小写 String[] strArray = new String[] { "z", "a", "C" };
Arrays.sort(strArray);
输出: [C, a, z]
3. 严格按字母表顺序排序,也就是忽略大小写排序 Case-insensitive sort
Arrays.sort(strArray, String.CASE_INSENSITIVE_ORDER);
输出: [a, C, z]
4. 反向排序, Reverse-order sort
Arrays.sort(strArray, Collections.reverseOrder());
输出:[z, a, C]
5. 忽略大小写反向排序 Case-insensitive reverse-order sort
Arrays.sort(strArray, String.CASE_INSENSITIVE_ORDER);
Collections.reverse(Arrays.asList(strArray));
输出: [z, C, a]
例子:
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
public class ArrayDemo {
public static void main(String[] args) {
// initializing unsorted short array
Short sArr[] = new Short[]{3, 13, 1, 9, 21};
// let us print all the elements available in list
for (short number : sArr) {
System.out.println("Number = " + number);
}
// create a comparator
Comparator<Short> comp = Collections.reverseOrder();
// sorting array with reverse order using comparator
Arrays.sort(sArr, comp);
// let us print all the elements available in list
System.out.println("short array with some sorted values(1 to 4) is:");
for (short number : sArr) {
System.out.println("Number = " + number);
}
}
}
原文: 点击打开链接