我有列表中的列表,我有问题排序列表中的字符串时间戳。下面是检索时间戳在数据库中的方法:如何排序列表里面的Arraylist java
public static List<List<String>> getLogs(){
sql = new String("SELECT EmpID, ValidDate, GROUP_CONCAT(ValidTime) AS logTime FROM logs WHERE Processed = 0 GROUP BY EmpID, ValidDate");
List<List<String>> values = new ArrayList<>();
List<String> id = new ArrayList<>();
List<String> valDate = new ArrayList<>();
List<String> logs = new ArrayList<>();
try{
stmt = data.createStatement();
rs = stmt.executeQuery(sql);
while(rs.next()){
id.add(rs.getString("EmpID"));
valDate.add(String.valueOf(rs.getDate("ValidDate")));
logs.add(rs.getString("logTime"));
}
}catch(SQLException ex){
ex.printStackTrace();
}
values.add(id);
values.add(valDate);
values.add(logs);
return values;
}
这就是结果:
2017-07-22 17:02:00,11:31:00,12:14:00
2017-07-22 11:54:00,11:01:00,17:01:00
2017-07-22 17:01:00,11:30:00,12:29:00
这不是为了。
这是我如何调用此方法:
for(int i = 0; i < data.getLogs().get(0).size();i++){
System.out.println(data.getLogs().get(0).get(i)+" "+data.getLogs().get(1).get(i)+" "+data.getLogs().get(2).get(i));
}
我没有看到任何排序尝试。 – shmosel
为什么不在SQL级别执行它 –
谢谢,但正如你所看到的结果时间戳不是按顺序11:31是在17:02之后。我正在使用它进行加班计算。 – SilverRay