📅  最后修改于: 2020-03-18 13:46:57             🧑  作者: Mango
在Java中有两种内置的方法可以进行排序。
// Java代码,展示如何使用Arrays.sort()
// 默认升序排列
import java.util.Arrays;
public class GFG {
public static void main(String[] args)
{
int[] arr = { 13, 7, 6, 45, 21, 9, 101, 102 };
Arrays.sort(arr);
System.out.printf("调整后的 arr[] : %s",
Arrays.toString(arr));
}
}
输出:
调整后的 arr[] : [6, 7, 9, 13, 21, 45, 101, 102]
// Java代码,展示集合对象的Collections.sort()
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// 创建一个string的list
ArrayList al = new ArrayList();
al.add("芒果 For 芒果");
al.add("Friends");
al.add("Dear");
al.add("Is");
al.add("Superb");
/* Collections.sort method is sorting the
elements of ArrayList in ascending order. */
Collections.sort(al);
// Let us print the sorted list
System.out.println("新list,构造时使用了函数"
+ " Collection.sort() :\n" + al);
}
}
输出:
新list,构造时使用了函数 Collection.sort() :
[Dear, Friends, 芒果 For 芒果, Is, Superb]
// Java使用Arrays.sort()对Array进行降序排列
import java.util.Arrays;
import java.util.Collections;
public class GFG {
public static void main(String[] args)
{
// 注意Collections.reverseOrder不能在原始数据类型上使用.
Integer[] arr = { 13, 7, 6, 45, 21, 9, 2, 100 };
// Sorts arr[] in descending order
Arrays.sort(arr, Collections.reverseOrder());
System.out.printf("调整后的 arr[] : %s",
Arrays.toString(arr));
}
}
输出:
调整后的 arr[] : [100, 45, 21, 13, 9, 7, 6, 2]
// Java程序,展示如何使用Collections.sort()进行降序排列.
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// 创建一个string的list
ArrayList al = new ArrayList();
al.add("芒果 For 芒果");
al.add("Friends");
al.add("Dear");
al.add("Is");
al.add("Superb");
/* Collections.sort对ArrayList进行升序排列. */
Collections.sort(al, Collections.reverseOrder());
// Let us print the sorted list
System.out.println("新list,构造时使用了函数"
+ " Collection.sort() :\n" + al);
}
}
输出:
新list,构造时使用了函数 Collection.sort() :
[Superb, Is, 芒果 For 芒果, Friends, Dear]
如何仅对子数组排序?
例:
// Java代码,展示使用Arrays.sort()对子数组排序
import Java.util.Arrays;
public class GFG {
public static void main(String[] args)
{
int[] arr = { 13, 7, 6, 45, 21, 9, 2, 100 };
// 对index是1到4的子数组排序
Arrays.sort(arr, 1, 5);
System.out.printf("排序后的 arr[] : %s",
Arrays.toString(arr));
}
}
输出:
排序后的 arr[] : [13, 6, 7, 21, 45, 9, 2, 100]