gpt4 book ai didi

Java Collections.sort() 排除字符范围

转载 作者:行者123 更新时间:2023-11-29 04:42:14 26 4
gpt4 key购买 nike

我有一个关于 java Collections.sort() 的问题,我有 2 个由系统生成的文件,我正在尝试比较这两个文件,我做的第一件事是使用 java 的 Collections.sort() 重写这两个文件文件以便对它们进行排序,但我发现这些文件在偏移 7 到 18 的位置有一个系统生成的编号,因此这些文件似乎永远不匹配。我写了一行一行的过滤比较。

EEEDDDDR00002384800000000041929CAD...
EEEDDDDR00002384900000000041956CAD...
EEEDDDDR00002385000000000041938CAD...
EEEDDDDR00002385200000000041965CAD...
EEEDDDDR00002385700000000004198CAD...
EEEDDDDR00002385800000000004199CAD...
^--------^
System Generated and change the sort order.

有没有办法让 Collections.sort 中的压缩器忽略这个范围,可能还有一行上的其他范围?

最佳答案

您可以使用自定义 Comparator 来比较删除了索引 7-18 的字符串。 Java 8 的 Comparator.compating 语法使编写此类比较器变得非常优雅:

List<String> files = ...;
Collections.sort(files,
Comparator.comparing(s -> s.substring(0, 7) + s.substring(18)));

关于Java Collections.sort() 排除字符范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38726531/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com