集合(一)-Java中Arrays.sort()自定義數組的升序和降序排序


默認升序

package peng;
 
import java.util.Arrays;
 
 public class Testexample {
    public static void main(String[] args) {
         int[] a = {9, 8, 7, 2, 3, 4, 1, 0, 6, 5};        
         Arrays.sort(a);
         for(int arr:a) {
              System.out.print(arr + " ");
    		     }
      }
  }

 自定義 利用Collections.reverseOrder()方法:

package peng;
 
import java.util.Arrays;
import java.util.Collections;
public class Testexample {
    	   public static void main(String[] args) {
    		           integer[] a = {9, 8, 7, 2, 3, 4, 1, 0, 6, 5};
    		           Arrays.sort(a,Collections.reverseOrder());
    		           for(int arr:a) {
    		               System.out.print(arr + " ");
    		           }
    		       }
    		   }

 實現Comparator接口的復寫compare()方法,代碼如下:

package peng;
 
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
 
public class Testexample {
    	   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 arr:a) {
    		               System.out.print(arr + " ");
    		           }
    		       }
    		   }
    		   //實現Comparator接口
    		   class MyComparator implements Comparator<Integer>{
    		      @Override
    		       public int compare(Integer o1, Integer o2) {
    		        /*如果o1小於o2,我們就返回正值,如果o1大於o2我們就返回負值,
    		         這樣顛倒一下,就可以實現降序排序了,反之即可自定義升序排序了*/
    		       return o2-o1;    
       }
    	
  }

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM