如何在 Java 中使用定製的 Comparator 對陣列進行排序?


假設以下內容是我們的字串陣列且我們需要對它進行排序

String[] str = { "Tom", "Jack", "Harry", "Zen", "Tim", "David" };

在 sort() 方法中,建立一個 Comparator 來對上述字串進行排序。在此處,兩個字串進行比較,然後繼續進行此過程

Arrays.sort(str, new Comparator < String > () {
   public int compare(String one, String two) {
      int val = two.length() - one.length();
      if (val == 0)
      val = one.compareToIgnoreCase(two);
      return val;
   }
});

示例

import java.util.Arrays;
import java.util.Comparator;
public class Demo {
   public static void main(String[] args) {
      String[] str = { "Tom", "Jack", "Harry", "Zen", "Tim", "David" };
      System.out.println("Array...");
      for (String res : str)
         System.out.print(res + " ");
      Arrays.sort(str, new Comparator<String>() {
         public int compare(String one, String two) {
            int val = two.length() - one.length();
            if (val == 0)
               val = one.compareToIgnoreCase(two);
            return val;
         }
      });
      System.out.println("
Sorted array...");       for (String res : str)       System.out.print(res + " ");    } }

輸出

Array...
Tom Jack Harry Zen Tim David
Sorted array...
David Harry Jack Tim Tom Zen

更新於: 30-Jul-2019

2K+ 瀏覽

開啟您的 職業生涯

參加課程獲取認證

開始
廣告
© . All rights reserved.