0

文字列を Date オブジェクトに変換せずに monthYear リストをソートするにはどうすればよいですか? ここでロジックを適用することはできません。

public class SortDates {

    public static void main(String[] args) {

        String[] monthName = { "JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL",
                "AUG", "SEP", "OCT", "NOV", "DEC" };

        List<String> monthYear = new ArrayList<String>();

        monthYear.add("JAN-1999");
        monthYear.add("JUN-2009");
        monthYear.add("MAR-2003");
        monthYear.add("JAN-1998");
        monthYear.add("NOV-2013");

    }

}
4

3 に答える 3

2

使用できますCollections.sort(List<T> list,Comparator<? super T> c)

独自のコンパレータを指定して、これらの文字列を解析します。詳細については、ドキュメントを参照してください

ただし、 を使用して解析して日付に変換することをお勧めします。実際には日付として保存することSimpleDateFormat強くお勧めします。現在、あなたのソリューションは文字列型付けされています - コンパイラが動作して何をしているのかを検証できるので、強く型付けすることをお勧めします。

于 2013-06-26T15:55:11.380 に答える
0

月を数値でマッピングするのはどうですか?

HashMap<String, Integer> map = new HashMap<String, Integer>();
map.put("JAN", 1);
...

そしてそれを確認しますか?

于 2013-06-26T16:13:47.170 に答える