import java.util.Comparator;
import java.util.Date;
//Class that returns a string columnn in ascending order
public class DateCompare implements Comparator {
int columnToSort;
DateCompare(int columnToSort) {
this.columnToSort = columnToSort;
}
//overriding compare method
public int compare(Object o1, Object o2) {
Date[] row1 = (Date[]) o1;
Date[] row2 = (Date[]) o2;
//compare the columns to sort
return row1[columnToSort].compareTo(row2[columnToSort]);
}
}
我的二維數組存儲手機的名稱及其製造日期。 朋友們,我做了一個名爲DateCompare的類,它根據存儲日期的列對二維數組進行排序。 這沒有給出所需的輸出。任何人都可以糾正這個問題,或者提供一個更好的替代解決方案,因爲我無法在任何網站上找到明確的答案? 在此先感謝!如何根據日期列升序對二維數組進行排序
輸入(例如):
Samsung 01/01/2014
iphone 09/02/2006
Motorola 16/06/2009
輸出:
iphone 09/02/2006
Motorola 16/06/2009
Samsung 01/01/2014
我怎麼沒看到「三星」可能是在'日期[]'。向我們展示如何聲明變量以及如何使用比較器。並使用泛型:如果你想對香蕉進行分類,比較器應該實現'Comparator'。另外,你不應該使用數組來存儲信息。你應該有一個'List ',其中'Phone'是一個具有'name'和'date'字段的類。 –
爲什麼不使用現有的jdk metods? java.util.Arrays.sort(Object [])對可比對象數組排序 – agad
@agad:數組不具有可比性。要對它們進行排序,請使用Arrays.sort()並傳遞一個比較器。以上代碼是比較器。 –