Java中的sort方法总结

Java中常用的数组或集合排序的方法有两个,一个是java.util.Arrays中的静态方法Arrays.sort(),还有一个是java.util.Collections中的静态方法的Collections.sort()方法。

1.Arrays.sort()
(1)Arrays.sort(int[] a)
对一个数组的所有元素进行排序,按从小到大的顺序。
(2)Arrays.sort(int[] a, int fromIndex, int toIndex)
对数组部分排序,对数组a的下标从fromIndex到toIndex-1的元素排序,下标为toIndex的元素不参与排序。升序。
(3)public static void sort(T[] a,int fromIndex,int toIndex, Comparator c)
从大到小。


public class Main {
	     public static void main(String[] args) {
	         //注意,要想改变默认的排列顺序,不能使用基本类型(int,double, char)
	         //而要使用它们对应的类
	         Integer[] a = {9, 8, 7, 2, 3, 4, 1, 0, 6, 5};
	         //定义一个自定义类MyComparator的对象
	        Comparator cmp = new MyComparator();
	        Arrays.sort(a, cmp);
	        for(int i = 0; i < a.length; i ++) {
	            System.out.print(a[i] + " ");
	         }
	     }
	 }
	 //Comparator是一个接口,所以这里我们自己定义的类MyComparator要implents该接口
	 //而不是extends Comparator
	 class MyComparator implements Comparator<Integer>{
	     @Override
	     public int compare(Integer o1, Integer o2) {
	         //如果n1小于n2,我们就返回正值,如果n1大于n2我们就返回负值,
	         //这样颠倒一下,就可以实现反向排序了
	         if(o1 < o2) { 
	             return 1;
	         }else if(o1 > o2) {
	             return -1;
	         }else {
	             return 0;
	         }
	     }
	     
	 }
上一篇:【Java 8 新特性】Java Comparator | 比较器


下一篇:ArrayList<String>数组,按照字符串长度进行排序