【发布时间】:2018-11-29 19:29:00
【问题描述】:
我的输入字符串数组如下:
字符串[] arr = {"2T1BURHE1JCO24154C", “2TABURHE1JC024154C”, “JTDKARFP5H3055472C”, “2T2BURHE1JCO24154C”, "JTDKARFP1H3056246C"};
输出数组应如下:
{"JTDKARFP1H3056246C",
"JTDKARFP5H3055472C",
"2TABURHE1JC024154C",
"2T1BURHE1JCO24154C",
"2T2BURHE1JCO24154C"}
这里的优先级在下面的模式中给出:
[ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]
当我在 Java 中使用 Arrays.sort(arr) 时,它会以字典模式对数组进行排序并给出以下输出:
[2T1BURHE1JCO24154C、2T2BURHE1JCO24154C、2TABURHE1JC024154C、JTDKARFP1H3056246C、JTDKARFP5H3055472C]
我如何在 Java 中实现这一点。
谢谢。
【问题讨论】:
-
您可以尝试创建一个自定义比较器来比较字母在“优先级数组”中的位置。这个问题虽然很广泛。
-
String 将始终根据其 compareTo() 方法中的顺序排序()。如果需要自定义排序,则需要为排序方法提供自己的自定义 Comparator。
-
Arrays.sort(arr, Collections.reverseOrder());是不是很简单?
-
RadixSort 你必须使用
标签: java arrays string sorting design-patterns