2

日付を古いものから新しいものへと並べ替えようとしています。bufferedreader を使用して、文字列の最初の 2 文字、次に 4 番目と 5 番目の文字、最後に 7 番目と 8 番目の文字を検索して、スラッシュを無視することを考えていました。

以下は、私が持っているテキストファイルの例です。

2010/04/24 - 2000.0 (入金)

2010 年 9 月 5 日 - 20.0 (料金)

2007/02/30 - 600.0 (デポジット)

2009 年 6 月 15 日 - 200.0 (料金)

2010/08/23 - 300.0 (デポジット)

2006 年 6 月 5 日 - 500.0 (手数料)

4

3 に答える 3

2

Java を使用してテキスト ファイル内のレコードを並べ替えるにはどうすればよいですか?

SimpleDateFormatこれは、 inを使用して日付を目的の形式に変更することでgetField(String line)うまくいくはずです.

于 2010-04-12T18:24:41.850 に答える
0

ファイルの大きさは?すべての行を読み取り、各行の日付オブジェクトを作成してから呼び出しますCollections.sort(list<myobjectwithdate>)

Date はコンパレータを提供するため、すべてをメモリに保存し、並べ替えてから、ファイルに書き戻すことが非常に簡単です。

class LineAndDate implements Comparable{
  private Date date;
  private String line;

  public int compareTo( Object other )
  {
    return date.compareTo( ((LineAndDate)other).date;
  }

}

aをメモリに格納すると、それを呼び出して書き込むことList<LineAndDate>ができるはずです。Collections.sort(myList)

于 2010-04-12T18:19:48.283 に答える
0

SimpleDateFormatを使用して日付を目的の形式に変更し、それを並べ替えます。

于 2010-04-12T18:20:08.767 に答える