写出一个Java程序,读取该CSV文件,并且按照部门字段分组,最后打印出来,打印结果如下:

 我来答
匿名用户
推荐于2016-12-06
展开全部
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.util.ArrayList;

public class Sort {

public static void main(String[] args) throws Exception {
ArrayList<String> list = new ArrayList<String>();
File file = new File("data.csv"); //这里填你的csv文件的路径
BufferedReader fr = new BufferedReader(new FileReader(file));
String s = null;
while ((s=fr.readLine())!=null){
list.add(s);
}
fr.close();
list = sort(list);
for (String str : list){
System.out.println(str);
}

}

public static ArrayList<String> sort(ArrayList<String> list){
String str1 = null;
String str2 = null;
int flag = 0;
int size = list.size();
for(int i=0; i<list.size()-1; i++){
for (int j=0; j<size-1; j++){
str1 = list.get(j);
str2 = list.get(j+1);
flag = getDept(str1).compareToIgnoreCase(getDept(str2));
if (flag>=0){
list.set(j, str2);
list.set(j+1, str1);
}
}
size -= 1;
}

return list;
}

public static String getDept(String str){
String[] array = str.split(",");
return array[3];
}

}
追问

你好,谢谢,可不可以告诉我怎么修改能把 

去掉,,还有----------------------------------这个区分线能加上吗?

追答

代码写长了,只能上传文件了。这代码写的够丑了,你对付用吧。

泡泡的八婆
2014-08-04 · 超过11用户采纳过TA的回答
知道答主
回答量:57
采纳率:0%
帮助的人:15.4万
展开全部
思路:外层map;内层为LIST封装的每条记录,将相同的部门key值一样
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
herox_hu
2014-08-04 · TA获得超过776个赞
知道小有建树答主
回答量:1122
采纳率:0%
帮助的人:323万
展开全部
百度:java读取csv
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式