我正在尝试使用最近的日期(例如上一个星期一)从我的列表(或组)中收集数据。然后,我可以将值一起添加,然后将新值重新插入列表中。
目前我的输出看起来像这样
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();
}
}
我有一个主驱动程序类,它有main方法(用于简单地运行脚本),一个用于获取数据的协调器类,并设置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);
}
}
答案 0 :(得分: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());
}
});