List dkinfos = new ArrayList();//保存读取csv得到的数据
Map> map = new HashMap>();//分组统计的map集合
public void generic(){
String sbip = null;
List mapDkinfos = new ArrayList();//map集合中每组ip的对应的对象集合
BufferedReader reader = null;
//读写csv数据到list(dkinfos)集合中
try {
reader = new BufferedReader(new FileReader("C:\Users\Lollipop\Desktop\考勤信息.CSV"));//换成你的文件名
String line = null;
while((line=reader.readLine())!=null){
String data[] = line.split(",");//CSV格式文件为逗号分隔符文件,这里根据逗号切分
XXattendance dkinfo = new XXattendance();
dkinfo.setName(data[1]);
dkinfo.setN_id(data[2]);
dkinfo.setDate(data[3]);
dkinfos.add(dkinfo);
// System.out.println(data[0]+","+data[1]);
// System.out.println(dkinfo.getName()+dkinfo.getN_id()+dkinfo.getDate());
}
//遍历集合,将数据分组存入map集合
for(XXattendance dkinfo : dkinfos){
sbip = dkinfo.getN_id();
sbip = dkinfo.getDate();
mapDkinfos = map.get(sbip);//获取对应sbip的集合,第一次获取时为空
if(mapDkinfos == null){//这里如果不进行为空判断,会报空指针异常
mapDkinfos = new ArrayList();
}
mapDkinfos.add(dkinfo);//将新添加的对象加入到对应的sbip的对象集合
map.put(sbip, mapDkinfos); //将每次新添加对象后的对象集合存入对应map中
}
Iterator iter = dkinfos.iterator();
//遍历map集合
for (Map.Entry> entry : map.entrySet()) {
// System.out.println("考勤号: " + entry.getKey() + "打卡次数:" + entry.getValue().size());
}
} catch (Exception e) {
e.printStackTrace();
} finally{
try {
reader.close();
dkinfos.clear();
map.clear();
mapDkinfos.clear();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
SCV数据:
"部门","姓名","考勤号码","日期时间","机器号","编号","比对方式","卡号"
,"王","005","2017/5/2 9:06:13","1","","指纹",""
,"王","005","2017/5/2 10:35:04","1","","指纹",""
,"王","005","2017/5/2 19:21:28","1","","指纹",""
,"王","005","2017/5/2 19:22:43","1","","指纹",""
,"王","005","2017/5/3 13:58:49","1","","密码",""
,"王","005","2017/5/3 14:01:46","1","","密码",""
,"王","005","2017/5/3 14:10:11","1","","密码",""
,"王","005","2017/5/3 16:58:06","1","","指纹",""
,"王","005","2017/5/4 8:57:29","1","","指纹",""
,"王","005","2017/5/4 9:53:30","1","","密码",""
,"王","005","2017/5/4 11:03:16","1","","指纹",""
,"王","005","2017/5/4 12:29:13","1","","指纹",""
,"王","005","2017/5/4 13:58:32","1","","指纹",""
,"王","005","2017/5/4 14:24:46","1","","指纹",""
,"王","005","2017/5/4 14:49:02","1","","指纹",""
,"王","005","2017/5/4 16:22:15","1","","指纹",""
,"王","005","2017/5/4 18:10:31","1","","指纹",""
,"王","005","2017/5/5 8:53:24","1","","指纹",""
,"王","005","2017/5/5 9:21:41","1","","指纹",""
,"王","005","2017/5/5 11:30:13","1","","密码",""
,"王","005","2017/5/5 12:59:00","1","","指纹",""
,"王","005","2017/5/5 13:01:05","1","","密码",""
,"王","005","2017/5/5 13:48:33","1","","指纹",""
,"王","005","2017/5/5 15:38:59","1","","指纹",""
,"王","005","2017/5/5 18:03:22","1","","指纹",""
,"王","005","2017/5/8 10:11:59","1","","指纹",""
,"王","005","2017/5/8 10:36:55","1","","指纹",""
,"王","005","2017/5/8 11:34:26","1","","指纹",""
,"王","005","2017/5/8 11:46:22","1","","指纹",""
,"王","005","2017/5/8 13:01:05","1","","指纹",""
,"王","005","2017/5/8 13:42:16","1","","指纹",""
,"王","005","2017/5/8 15:41:08","1","","指纹",""
,"王","005","2017/5/8 15:44:01","1","","指纹",""
,"王","005","2017/5/8 18:06:13","1","","指纹",""
,"王","005","2017/5/8 18:10:54","1","","指纹",""
,"王","005","2017/5/9 9:02:09","1","","指纹",""
,"王","005","2017/5/9 10:45:04","1","","指纹",""
,"王","005","2017/5/9 15:54:49","1","","指纹",""
,"王","005","2017/5/9 16:21:58","1","","指纹",""
,"王","005","2017/5/12 8:43:06","1","","指纹",""
,"王","005","2017/5/15 8:58:31","1","","指纹",""
,"王","005","2017/5/15 9:07:21","1","","指纹",""
,"王","005","2017/5/15 13:47:58","1","","指纹",""
,"李","007","2017/5/3 18:15:51","1","","指纹",""
,"李","007","2017/5/4 8:46:05","1","","指纹",""
,"李","007","2017/5/4 8:59:47","1","","指纹",""
,"李","007","2017/5/4 11:13:44","1","","指纹",""
,"李","007","2017/5/4 12:08:21","1","","指纹",""
,"李","007","2017/5/4 13:27:26","1","","指纹",""
,"李","007","2017/5/4 15:32:24","1","","指纹",""
,"李","007","2017/5/4 16:50:40","1","","指纹",""
,"李","007","2017/5/4 18:10:17","1","","指纹",""
,"李","007","2017/5/5 8:45:16","1","","指纹",""
,"李","007","2017/5/5 8:55:33","1","","指纹",""
,"李","007","2017/5/5 8:56:18","1","","指纹",""
,"李","007","2017/5/5 16:38:41","1","","指纹",""
,"李","007","2017/5/5 18:03:41","1","","指纹",""
,"李","007","2017/5/8 8:49:04","1","","指纹",""
,"李","007","2017/5/8 8:50:14","1","","指纹",""
,"李","007","2017/5/8 10:03:45","1","","指纹",""
,"李","007","2017/5/8 12:18:39","1","","指纹",""
,"李","007","2017/5/8 12:27:55","1","","指纹",""
,"李","007","2017/5/8 14:02:19","1","","指纹",""
,"李","007","2017/5/8 14:33:45","1","","指纹",""
,"李","007","2017/5/8 18:06:19","1","","指纹",""
,"李","007","2017/5/8 18:18:26","1","","指纹",""
,"李","007","2017/5/9 8:48:39","1","","指纹",""
,"李","007","2017/5/9 8:49:53","1","","指纹",""
,"李","007","2017/5/9 13:33:35","1","","指纹",""
,"李","007","2017/5/9 15:00:58","1","","指纹",""
,"李","007","2017/5/9 17:40:10","1","","指纹",""
,"李","007","2017/5/9 18:07:28","1","","指纹",""
,"李","007","2017/5/12 8:55:34","1","","指纹",""
,"李","007","2017/5/12 8:58:09","1","","指纹",""
,"李","007","2017/5/12 11:11:20","1","","指纹",""
,"李","007","2017/5/12 15:09:12","1","","指纹",""
,"李","007","2017/5/12 16:27:09","1","","指纹",""
,"李","007","2017/5/12 17:56:23","1","","指纹",""
,"李","007","2017/5/12 18:10:22","1","","指纹",""
,"李","007","2017/5/15 8:50:59","1","","指纹",""
,"李","007","2017/5/15 9:06:47","1","","指纹",""
,"张","008","2017/5/2 9:13:02","1","","指纹",""
,"张","008","2017/5/2 16:28:27","1","","指纹",""
,"张","008","2017/5/2 17:38:45","1","","指纹",""
,"张","008","2017/5/3 9:04:40","1","","指纹",""
,"张","008","2017/5/3 9:08:44","1","","指纹",""
,"张","008","2017/5/3 13:56:29","1","","指纹",""
,"张","008","2017/5/4 10:40:16","1","","指纹",""
,"张","008","2017/5/4 11:56:22","1","","指纹",""
,"张","008","2017/5/4 13:17:10","1","","指纹",""
,"张","008","2017/5/4 13:34:48","1","","密码",""
,"张","008","2017/5/4 15:34:28","1","","密码",""
,"张","008","2017/5/4 15:49:44","1","","指纹",""
,"张","008","2017/5/5 10:58:58","1","","指纹",""
,"张","008","2017/5/5 12:34:57","1","","密码",""
,"张","008","2017/5/5 16:45:05","1","","指纹",""
,"张","008","2017/5/8 10:17:23","1","","指纹",""
,"张","008","2017/5/8 10:23:07","1","","指纹",""
,"张","008","2017/5/8 12:10:50","1","","指纹",""
,"张","008","2017/5/8 15:10:49","1","","指纹",""
,"张","008","2017/5/9 10:13:12","1","","指纹",""
,"张","008","2017/5/9 11:51:06","1","","指纹",""
,"张","008","2017/5/9 12:19:36","1","","指纹",""
,"张","008","2017/5/9 13:30:50","1","","指纹",""
,"张","008","2017/5/11 10:13:07","1","","指纹",""
,"张","008","2017/5/11 11:26:39","1","","指纹",""
,"张","008","2017/5/11 12:04:37","1","","指纹",""
,"张","008","2017/5/11 13:56:43","1","","指纹",""
,"张","008","2017/5/15 9:19:06","1","","指纹",""
,"张","008","2017/5/15 12:07:44","1","","指纹",""
,"张","008","2017/5/15 13:14:25","1","","密码",""
,"于","009","2017/5/2 9:10:01","1","","指纹",""
,"于","009","2017/5/2 17:58:15","1","","指纹",""
,"于","009","2017/5/3 9:07:14","1","","指纹",""
,"于","009","2017/5/3 18:15:26","1","","指纹",""
,"于","009","2017/5/4 8:58:18","1","","指纹",""
,"于","009","2017/5/4 9:51:00","1","","指纹",""
,"于","009","2017/5/4 13:56:46","1","","指纹",""
,"于","009","2017/5/4 14:47:43","1","","指纹",""
,"于","009","2017/5/4 15:51:32","1","","指纹",""
,"于","009","2017/5/4 16:49:36","1","","指纹",""
,"于","009","2017/5/4 18:10:11","1","","指纹",""
,"于","009","2017/5/5 8:46:30","1","","指纹",""
,"于","009","2017/5/5 8:59:37","1","","指纹",""
,"于","009","2017/5/5 9:25:21","1","","指纹",""
,"于","009","2017/5/5 9:54:00","1","","指纹",""
,"于","009","2017/5/5 10:31:46","1","","指纹",""
,"于","009","2017/5/5 13:38:04","1","","指纹",""
,"于","009","2017/5/5 14:53:26","1","","指纹",""
,"于","009","2017/5/5 16:39:31","1","","指纹",""
,"于","009","2017/5/5 17:49:45","1","","指纹",""
,"于","009","2017/5/5 18:03:37","1","","指纹",""
,"于","009","2017/5/8 8:48:25","1","","指纹",""
,"于","009","2017/5/8 9:48:53","1","","指纹",""
,"于","009","2017/5/8 12:42:48","1","","指纹",""
,"于","009","2017/5/8 14:13:43","1","","指纹",""
,"于","009","2017/5/8 16:10:01","1","","指纹",""
,"于","009","2017/5/8 16:57:31","1","","指纹",""
,"于","009","2017/5/8 18:26:59","1","","指纹",""
,"于","009","2017/5/8 18:57:02","1","","指纹",""
,"于","009","2017/5/8 18:58:06","1","","指纹",""
,"于","009","2017/5/9 8:42:26","1","","指纹",""
,"于","009","2017/5/9 9:34:07","1","","指纹",""
,"于","009","2017/5/9 11:46:12","1","","指纹",""
,"于","009","2017/5/9 13:47:02","1","","指纹",""
,"于","009","2017/5/9 17:25:17","1","","指纹",""
,"于","009","2017/5/9 18:05:02","1","","指纹",""
,"于","009","2017/5/10 8:46:50","1","","指纹",""
,"于","009","2017/5/10 10:14:49","1","","指纹",""
,"于","009","2017/5/10 10:37:15","1","","指纹",""
,"于","009","2017/5/10 11:35:05","1","","指纹",""
,"于","009","2017/5/10 13:34:00","1","","指纹",""
,"于","009","2017/5/10 15:28:08","1","","指纹",""
,"于","009","2017/5/10 16:13:17","1","","指纹",""
,"于","009","2017/5/10 18:11:05","1","","指纹",""
,"于","009","2017/5/11 8:50:41","1","","指纹",""
,"于","009","2017/5/11 9:57:43","1","","指纹",""
,"于","009","2017/5/11 10:18:26","1","","指纹",""
,"于","009","2017/5/11 11:25:47","1","","指纹",""
,"于","009","2017/5/11 13:49:23","1","","指纹",""
,"于","009","2017/5/11 14:02:04","1","","指纹",""
,"于","009","2017/5/11 16:58:33","1","","指纹",""
,"于","009","2017/5/11 18:23:28","1","","指纹",""
,"于","009","2017/5/12 8:49:37","1","","指纹",""
,"于","009","2017/5/12 11:27:42","1","","指纹",""
,"于","009","2017/5/12 13:47:13","1","","指纹",""
,"于","009","2017/5/12 14:10:01","1","","指纹",""
,"于","009","2017/5/12 15:52:46","1","","指纹",""
,"于","009","2017/5/12 17:30:29","1","","指纹",""
,"于","009","2017/5/12 18:09:34","1","","指纹",""
,"于","009","2017/5/15 8:50:10","1","","指纹",""
,"于","009","2017/5/15 13:38:37","1","","指纹",""