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 回答