如何在 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
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP