一、Arrays.sort()方法是一种快速排序方法,它合适用于元素少于47个数的排序,具体排序可以参考下面的代码。
二、它可以用于数组的从小到大也可以用于数组的从大到小进行排序,下面讲解一下四种排序的方法。
a) 从小到大排序Arrays.sort(num)。
Integer[] arr = new Integer[]{3,60,2,1,4,55,6,8,47,2,3,5};
Arrays.sort(arr);
System.out.println("从小到大排序:");
for(int i =0;i<arr.length ;i++){
System.out.print(arr[i]+" ");//1 2 2 3 3 4 5 6 8 47 55 60
}
b) 从大到小排序:
Arrays.sort(num, new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
// TODO Auto-generated method stub
return o2-o1;
}
});
Integer[] arr = new Integer[]{3,60,2,1,4,55,6,8,47,2,3,5};
Arrays.sort(arr, new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
// TODO Auto-generated method stub
return o2-o1;
}
});
System.out.println("从大到小排序:");
for(int i =0;i<arr.length ;i++){
System.out.print(arr[i]+" ");//60 55 47 8 6 5 4 3 3 2 2 1
}
c)在第N位以后从小到大排序,注意不是下标为N:Arrays.sort(num,N,num.length);
Integer[] arr = new Integer[]{3,60,2,1,4,55,6,8,47,2,3,5};
Arrays.sort(arr,2,arr.length);
System.out.println("在第二位(不是数组下标为2)以后进行从小到大排序:");
for(int i =0;i<arr.length ;i++){
System.out.print(arr[i]+" ");
}
d)在第N位从大到小排序,注意不是下标为N:
Arrays.sort(num,N,num.length,new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o2-o1;
}
});
Integer[] arr = new Integer[]{3,60,2,1,4,55,6,8,47,2,3,5};
Arrays.sort(arr,5,arr.length,new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o2-o1;
}
});
System.out.println("在第五位(不是数组下标为5)以后进行从大到小排序:");
for(int i =0;i<arr.length ;i++){
System.out.print(arr[i]+" ");
}
public class ArraySortTest {
public static void main(String[] args) {
Integer[] arr = new Integer[]{3,60,2,1,4,55,6,8,47,2,3,5};
Arrays.sort(arr);
System.out.println("从小到大排序:");
for(int i =0;i<arr.length ;i++){
System.out.print(arr[i]+" ");//1 2 2 3 3 4 5 6 8 47 55 60
}
Arrays.sort(arr, new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
// TODO Auto-generated method stub
return o2-o1;
}
});
System.out.println("\n从大到小排序:");
for(int i =0;i<arr.length ;i++){
System.out.print(arr[i]+" ");//60 55 47 8 6 5 4 3 3 2 2 1
}
Arrays.sort(arr,2,arr.length);
System.out.println("\n在第二位(不是数组下标为2)以后进行从小到大排序:");
for(int i =0;i<arr.length ;i++){
System.out.print(arr[i]+" ");//60 55 1 2 2 3 3 4 5 6 8 47
}
Arrays.sort(arr,5,arr.length,new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o2-o1;
}
});
System.out.println("\n在第五位(不是数组下标为5)以后进行从大到小排序:");
for(int i =0;i<arr.length ;i++){
System.out.print(arr[i]+" ");//60 55 1 2 2 47 8 6 5 4 3 3
}
}
}