如何在Java上包含双数据类型值的字段上对csv文件进行排序?

时间:2017-05-16 14:14:12

标签: java sorting csv

我有一个包含以下内容的CSV文件:

A,B,C,1.23
D,E,F,3.51
G,H,I,0.45

我已将CSV文件的行存储在ArrayList<String>

我想按降序排序,所以它会是这样的:

D,E,F,3.51
A,B,C,1.23
G,H,I,0.45

我该怎么做?提前谢谢!

1 个答案:

答案 0 :(得分:1)

你可以使用Collections.sort并传入你自己的比较器:

ArrayList<String> lines = new ArrayList<>();
lines.add("A,B,C,1.23");
lines.add("D,E,F,3.51");
lines.add("G,H,I,0.45");
Collections.sort(lines, Comparator.comparingDouble(e -> -Double.parseDouble(e.split(",")[3])));

结果:

D,E,F,3.51
A,B,C,1.23
G,H,I,0.45