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

标签 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

我怎样才能做到这一点?提前致谢!

最佳答案

您可以使用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

关于java - 如何在 Java 上对包含 double 据类型值的字段对 csv 文件进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44003951/

相关文章:

c - C程序中使用指针排序

mysql - 使用 to_sql 时如何防止使用第一行 Pandas DataFrame 作为列名

java - 带有最终访问修饰符的 char 和 byte - java

java - 当不在 web Servlet 中时,在 FTL/spring 中获取模板的正确方法是什么

c# - 如何按字母顺序对字母数字列表进行排序

vba - 有没有一种方法可以使用与 VBA 的默认分隔符 (vbCr/vbCrLf) 不同的分隔符一次一行地读取文件?

python - 使用 python 将字典值写入 csv 中的单独列

java - IP程序,将对象设置为默认值

java - Java中的第三方API包装器: how to design

php - SQL ORDER String (NumberOrder/CurrentYear) 来自两个表