0

リスト (またはグループ) から最新の日付 (たとえば先週の月曜日) のデータを収集しようとしています。したがって、値を一緒に追加してから、新しい値をリストに挿入することができます。

現在、私の出力は次のようになっています

ID   Date       charge    balance
1   29/07/2013    10        100
2   29/07/2013    20        200
3   29/07/2013    30        300

いくつかの列を提供または取得します。主な目的は、たとえば 29 日のエントリをグループ化し、残高に料金を追加して、新しい残高とシステム日付で新しいエントリ / フィールド / 行を作成することです。

これまでのところ、リストを作成し、スキャナーを使用してcsvからエントリを読み取ることができますが、ハードコーディングせずにコードを取得して日付を取得する方法がわかりません.

public class Statements {

    public int tncy_num;
    //public double net_rent;
    public String end_date;
    public double bal_val;
    public double chg_val;

    public Statements(int t, String ed, double bv ,  double cv){
        tncy_num = t;
        //net_rent = nr;
        end_date = ed;
        bal_val = bv;
        chg_val= cv;
    }

    public int getTncynum(){return tncy_num;}
    //public double getNetRentnum(){return net_rent;}
    public String getEndDatenum(){return end_date;}
    public double getBalValnum(){return bal_val;}
    public double getChgValnum(){return chg_val;}
    //public double getBenfValnum(){return benf_val;}
    //public double getAdjVal(){return adj_val;}
    //public double getTotlValnum(){return totl_val;}

    public String toString(){       
        return " "+this.getTncynum()+
                " "+this.getEndDatenum()+
                " "+this.getBalValnum()+
                " "+this.getChgValnum();
    }

}

メインメソッド(単にスクリプトを実行するために使用される)を持つメインドライバークラス、データを取得してcsvファイルの場所を設定するために使用されるコーディネータークラス、およびリストのデータを返す他のクラスがあります。

public class Calculations {
private Coordinator cord;
private ArrayList Data;

public Calculations(Coordinator co) {
    cord =co;
    Data = new ArrayList<Statements>(cord.getData());
    System.out.print(Data); 
}
}
4

1 に答える 1

2

ここに例があります:

 Collections.sort(myList, new Comparator<Statements>() {
  public int compare(Statements o1, Statements o2) {
    if (o1.getEndDate() == null || o2.getEndDate() == null)
       return 0;
    return o1.getEndDate().compareTo(o2.getEndDate());
 }
});
于 2013-08-02T20:15:39.743 に答える